From 0438b52c937c76a6adcb72319196167213ea9cf8 Mon Sep 17 00:00:00 2001 From: imbytecat Date: Thu, 5 Mar 2026 10:37:47 +0800 Subject: [PATCH] =?UTF-8?q?refactor(db):=20=E7=A7=BB=E9=99=A4=20drizzle()?= =?UTF-8?q?=20=E5=A4=9A=E4=BD=99=E7=9A=84=20schema=20=E5=8F=82=E6=95=B0?= =?UTF-8?q?=EF=BC=8CRQBv2=20=E5=8F=AA=E9=9C=80=20relations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 2 +- apps/server/AGENTS.md | 4 ++-- apps/server/src/server/db/index.ts | 2 -- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 7f92207..27c3c8b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -125,7 +125,7 @@ import type { ReactNode } from 'react' - **ORM**: Drizzle ORM `1.0.0-beta` (RQBv2) - **Driver**: `drizzle-orm/postgres-js` (NOT `bun-sql`) - **Validation**: `drizzle-orm/zod` (built-in, NOT separate `drizzle-zod` package) -- **Relations**: Defined via `defineRelations()` in `src/server/db/relations.ts` +- **Relations**: Defined via `defineRelations()` in `src/server/db/relations.ts` (contains schema info, so `drizzle()` only needs `{ relations }`) - **Query style**: RQBv2 object syntax (`orderBy: { createdAt: 'desc' }`, `where: { id: 1 }`) ```typescript diff --git a/apps/server/AGENTS.md b/apps/server/AGENTS.md index e56eb6f..4078225 100644 --- a/apps/server/AGENTS.md +++ b/apps/server/AGENTS.md @@ -164,11 +164,10 @@ export const relations = defineRelations(schema, (r) => ({ // src/server/db/index.ts import { drizzle } from 'drizzle-orm/postgres-js' import { relations } from '@/server/db/relations' -import * as schema from '@/server/db/schema' +// In RQBv2, relations already contain schema info — no separate schema import needed const db = drizzle({ connection: env.DATABASE_URL, - schema, relations, }) ``` @@ -272,4 +271,5 @@ export const env = createEnv({ - Import from `drizzle-zod` (use `drizzle-orm/zod` instead) - Use RQBv1 callback-style `orderBy` / old `relations()` API - Use `drizzle-orm/bun-sql` driver (use `drizzle-orm/postgres-js`) +- Pass `schema` to `drizzle()` constructor (only `relations` is needed in RQBv2) - Leave docs out of sync with code changes diff --git a/apps/server/src/server/db/index.ts b/apps/server/src/server/db/index.ts index 9c9e0ee..e7fd5f0 100644 --- a/apps/server/src/server/db/index.ts +++ b/apps/server/src/server/db/index.ts @@ -1,12 +1,10 @@ import { drizzle } from 'drizzle-orm/postgres-js' import { env } from '@/env' import { relations } from '@/server/db/relations' -import * as schema from '@/server/db/schema' export const createDB = () => drizzle({ connection: env.DATABASE_URL, - schema, relations, })