diff --git a/README.md b/README.md index 45ffe3f..052848a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ DB scheme is defined in typescript apply changes ```bash -npx drizzle-kit push +npx drizzle-kit push --config=drizzle-dev.config.ts ``` ## Cloudflare workers tricks diff --git a/api/drizzle-dev.config.ts b/api/drizzle-dev.config.ts new file mode 100644 index 0000000..c7c335d --- /dev/null +++ b/api/drizzle-dev.config.ts @@ -0,0 +1,15 @@ +import 'dotenv/config'; +import { defineConfig } from 'drizzle-kit'; + +export default defineConfig({ + out: './drizzle', + schema: './src/db/schema.ts', + dialect: 'sqlite', + driver: 'd1-http', + dbCredentials: { + accountId: process.env.CLOUDFLARE_ACCOUNT_ID!, + databaseId: process.env.CLOUDFLARE_DATABASE_ID_DEV!, + token: process.env.CLOUDFLARE_D1_TOKEN!, + }, + casing: "snake_case", +}); diff --git a/api/drizzle.config.ts b/api/drizzle-prod.config.ts similarity index 100% rename from api/drizzle.config.ts rename to api/drizzle-prod.config.ts diff --git a/api/src/db/client.ts b/api/src/db/client.ts index 6e8f398..a5aaa7a 100644 --- a/api/src/db/client.ts +++ b/api/src/db/client.ts @@ -1,8 +1,18 @@ import { drizzle } from 'drizzle-orm/d1'; import type { Context } from 'hono'; -export function dbConn(c: Context){ +export interface Env { + d1_db: D1Database; +} + +export function getDbContext(c: Context){ return drizzle(c.env.d1_db, { casing: 'snake_case' }) +} + +export function getDbEnv(env: Env){ + return drizzle(env.d1_db, { + casing: 'snake_case' + }) } \ No newline at end of file diff --git a/api/wrangler.jsonc b/api/wrangler.jsonc index cda9660..7bcf14e 100644 --- a/api/wrangler.jsonc +++ b/api/wrangler.jsonc @@ -26,6 +26,7 @@ "binding": "d1_db", "database_name": "themepark-assistant", "database_id": "59680d24-f3c4-4bb6-b856-ad8c2b6bca3f", + "preview_database_id": "03294d21-460e-43aa-8e9e-a2d0221936ca", "migrations_dir": "drizzle/migrations" } ],