bun add drizzle-orm
bun add --dev drizzle-kit
// drizzle.config.ts
import { defineConfig } from "drizzle-kit";
export default defineConfig({
dialect: "sqlite",
schema: "./server/database/schema.ts",
out: "./server/database/migrations",
});
// server/utils/drizzle.ts
import { drizzle } from "drizzle-orm/d1";
export { sql, eq, and, or } from "drizzle-orm";
import * as schema from "../database/schema";
export const tables = schema;
export function useDrizzle() {
return drizzle(hubDatabase(), { schema });
}
export type User = typeof schema.users.$inferSelect;
To avoid typing the lengthy bun run drizzle-kit generate command every time, add this script to your package.json:
// package.json
{
"scripts": {
"db:generate": "drizzle-kit generate"
}
}
Later, you can generate schemas by simply running bun run db:generate.