Cloudflare Worker with Hono + D1 + D1-ORM

Hello all, I am new to this thing and need some help. Currently, I've successfully setup worker with Hono + D1. Now I want to use D1-ORM (https://github.com/Interactions-as-a-Service/d1-orm) but don't know how to pass env.DB which is declared inside hono context like this:
app.get('/', async (c) => {
const db = c.env.DB;
});
app.get('/', async (c) => {
const db = c.env.DB;
});
I've got ./src/Models/Customer.js file which contains this:
import { D1Orm, DataTypes, Model } from "d1-orm";

const orm = new D1Orm(env.DB);

const customer = new Model(
{
D1Orm: orm,
tableName: "customers",
primaryKeys: "id",
autoIncrement: "id",
},
{
CustomerId: {
type: DataTypes.INTEGER,
notNull: true,
},
CompanyName: {
type: DataTypes.STRING,
notNull: true,
},
ContactName: {
type: DataTypes.STRING,
},
}
);

export default customer;
import { D1Orm, DataTypes, Model } from "d1-orm";

const orm = new D1Orm(env.DB);

const customer = new Model(
{
D1Orm: orm,
tableName: "customers",
primaryKeys: "id",
autoIncrement: "id",
},
{
CustomerId: {
type: DataTypes.INTEGER,
notNull: true,
},
CompanyName: {
type: DataTypes.STRING,
notNull: true,
},
ContactName: {
type: DataTypes.STRING,
},
}
);

export default customer;
When I run wrangler dev I'm getting error:
service core:user:cf-api: Uncaught ReferenceError: env is not defined
service core:user:cf-api: Uncaught ReferenceError: env is not defined
Can anyone help me figure out how to properly pass env.DB to the model? Thanks in advance. ❤️
1 Reply
xokaido
xokaido11mo ago
@skye_31 Thank you, that looks interesting and will try it out, but what if I want to have dozens of models, should I do the same for all? That worked, thank you so much!... ❤️