|
5 | 5 | "@vorsteh-queue/core": minor |
6 | 6 | --- |
7 | 7 |
|
8 | | -## Highlights |
| 8 | +## Dynamic Schema & Table Names |
9 | 9 |
|
10 | | -- **Dynamic Schema & Table Names:** |
11 | | - - All adapters (Drizzle, Kysely, Prisma) now support configurable schema and table names for queue jobs. |
12 | | - - Enables an easier integration in existing DB setups. |
13 | | - |
14 | | -- **Type-Safe Adapter Results:** |
15 | | - - Adapter methods use improved type inference for job rows/results, even with dynamic models. |
16 | | - - Ensures type safety for all job operations and migrations. |
| 10 | +- All adapters (Drizzle, Kysely, Prisma) now support configurable schema and table names for queue jobs. |
| 11 | +- Enables an easier integration in existing DB setups. |
17 | 12 |
|
18 | 13 | ## Example: Drizzle Adapter with Custom Schema & Table |
19 | 14 |
|
20 | 15 | ```typescript |
| 16 | +// drizzle-schema.ts |
| 17 | +import { createQueueJobsTable } from "@vorsteh-queue/adapter-drizzle" |
| 18 | + |
| 19 | +export const { table: customQueueJobs, schema: customSchema } = createQueueJobsTable( |
| 20 | + "custom_queue_jobs", |
| 21 | + "custom_schema", |
| 22 | +) |
| 23 | + |
| 24 | +// queue.ts |
21 | 25 | import { drizzle } from "drizzle-orm/node-postgres" |
22 | 26 | import { Pool } from "pg" |
| 27 | +import * as schema from "src/drizzle-schema.ts2 |
23 | 28 |
|
24 | 29 | import { PostgresQueueAdapter } from "@vorsteh-queue/adapter-drizzle" |
25 | 30 |
|
26 | 31 | const pool = new Pool({ connectionString: process.env.DATABASE_URL }) |
27 | | -const db = drizzle(pool) |
| 32 | +const db = drizzle(pool, { schema }) |
28 | 33 |
|
29 | 34 | const adapter = new PostgresQueueAdapter(db, { |
30 | 35 | modelName: "customQueueJobs", |
31 | | - schemaName: "custom_schema", |
32 | | - tableName: "custom_queue_jobs", |
33 | 36 | }) |
34 | 37 |
|
35 | 38 | // The queue will now use the specified schema and table |
|
0 commit comments