refactor(db): 移除 drizzle() 多余的 schema 参数,RQBv2 只需 relations
This commit is contained in:
@@ -125,7 +125,7 @@ import type { ReactNode } from 'react'
|
|||||||
- **ORM**: Drizzle ORM `1.0.0-beta` (RQBv2)
|
- **ORM**: Drizzle ORM `1.0.0-beta` (RQBv2)
|
||||||
- **Driver**: `drizzle-orm/postgres-js` (NOT `bun-sql`)
|
- **Driver**: `drizzle-orm/postgres-js` (NOT `bun-sql`)
|
||||||
- **Validation**: `drizzle-orm/zod` (built-in, NOT separate `drizzle-zod` package)
|
- **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 }`)
|
- **Query style**: RQBv2 object syntax (`orderBy: { createdAt: 'desc' }`, `where: { id: 1 }`)
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
|
|||||||
@@ -164,11 +164,10 @@ export const relations = defineRelations(schema, (r) => ({
|
|||||||
// src/server/db/index.ts
|
// src/server/db/index.ts
|
||||||
import { drizzle } from 'drizzle-orm/postgres-js'
|
import { drizzle } from 'drizzle-orm/postgres-js'
|
||||||
import { relations } from '@/server/db/relations'
|
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({
|
const db = drizzle({
|
||||||
connection: env.DATABASE_URL,
|
connection: env.DATABASE_URL,
|
||||||
schema,
|
|
||||||
relations,
|
relations,
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
@@ -272,4 +271,5 @@ export const env = createEnv({
|
|||||||
- Import from `drizzle-zod` (use `drizzle-orm/zod` instead)
|
- Import from `drizzle-zod` (use `drizzle-orm/zod` instead)
|
||||||
- Use RQBv1 callback-style `orderBy` / old `relations()` API
|
- Use RQBv1 callback-style `orderBy` / old `relations()` API
|
||||||
- Use `drizzle-orm/bun-sql` driver (use `drizzle-orm/postgres-js`)
|
- 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
|
- Leave docs out of sync with code changes
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
import { drizzle } from 'drizzle-orm/postgres-js'
|
import { drizzle } from 'drizzle-orm/postgres-js'
|
||||||
import { env } from '@/env'
|
import { env } from '@/env'
|
||||||
import { relations } from '@/server/db/relations'
|
import { relations } from '@/server/db/relations'
|
||||||
import * as schema from '@/server/db/schema'
|
|
||||||
|
|
||||||
export const createDB = () =>
|
export const createDB = () =>
|
||||||
drizzle({
|
drizzle({
|
||||||
connection: env.DATABASE_URL,
|
connection: env.DATABASE_URL,
|
||||||
schema,
|
|
||||||
relations,
|
relations,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user