improve db client + add separate dev db

This commit is contained in:
Michi 2025-09-13 18:18:35 +02:00
parent 3f9547f014
commit cd5ae0f69f
5 changed files with 28 additions and 2 deletions

View file

@ -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

15
api/drizzle-dev.config.ts Normal file
View file

@ -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",
});

View file

@ -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'
})
}

View file

@ -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"
}
],