- Drop @supabase/supabase-js entirely; add drizzle-orm + postgres (porsager) driver - New packages/db: schema (pgSchema ordinarthur_os), client factory, migrate runner, drizzle-kit config - SQL migrations: 0000_init (pgcrypto + schema), 0001_jobs (jobs + job_search_criteria, no RLS) - Rewrite apps/api db module with DI symbols DB/DB_HANDLE + @InjectDb() decorator - Rewrite jobs.service.ts with Drizzle queries (upsert via onConflictDoUpdate, arrayOverlaps for stack filter) - Replace SUPABASE_* env vars with DATABASE_URL in env config + .env.example - Add docker-compose.yml (Postgres 16-alpine, dev only) - Add deploy/k8s/postgres.yaml (StatefulSet + PVC), migrate.job.yaml, updated secrets.template.yaml - Update all docs (README, PLAN, ARCHITECTURE, CLAUDE.md, AGENTS.md, packages/db/README.md) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
23 lines
607 B
TypeScript
23 lines
607 B
TypeScript
import type { Config } from "drizzle-kit";
|
|
|
|
/**
|
|
* Config drizzle-kit.
|
|
*
|
|
* Usage :
|
|
* - `pnpm --filter @ordinarthur-os/db generate` → génère un SQL diff dans `migrations/`
|
|
* - `pnpm --filter @ordinarthur-os/db migrate` → applique les migrations pendantes
|
|
*
|
|
* `DATABASE_URL` attendu au format `postgres://user:pass@host:5432/dbname`.
|
|
*/
|
|
export default {
|
|
schema: "./src/schema/index.ts",
|
|
out: "./migrations",
|
|
dialect: "postgresql",
|
|
schemaFilter: ["ordinarthur_os"],
|
|
dbCredentials: {
|
|
url: process.env.DATABASE_URL ?? "",
|
|
},
|
|
strict: true,
|
|
verbose: true,
|
|
} satisfies Config;
|