- Replace Prisma client runtime with Drizzle ORM (zero Prisma engine/query engine in production) - Add Prisma-compatible facade (@/lib/prisma-facade.ts) backed by Drizzle for backwards compatibility - Runtime queries route through Drizzle ORM; @prisma/client is now devDependency (types only) - Remove @prisma/adapter-mariadb dependency; delete prisma-pool.ts and types/prisma.ts - New Drizzle schema layer: src/db/schema.ts (176 tables) and src/lib/db.ts (connection) - Update README documenting the dual-layer ORM architecture - Restore src/generated/ gitignore (build artifact for local type generation) - 0 TypeScript errors, 583 tests passing The facade intentionally uses `any` types to match the Prisma Client API surface, allowing existing code to run unmodified while routing queries through Drizzle at runtime.
17 lines
561 B
TypeScript
17 lines
561 B
TypeScript
import "dotenv/config";
|
|
import { defineConfig } from "drizzle-kit";
|
|
|
|
// The schema is generated by scripts/generate-drizzle-schema.mjs from
|
|
// prisma/schema.prisma + live DB introspection. This DB is shared live with the
|
|
// Arcturus emulator, so we NEVER run `drizzle-kit migrate`/`push` against it —
|
|
// CMS-only schema changes stay in prisma/migrations/*.sql via `pnpm db:migrate`.
|
|
export default defineConfig({
|
|
dialect: "mysql",
|
|
schema: "./src/db/schema.ts",
|
|
dbCredentials: {
|
|
url: process.env.DATABASE_URL ?? "",
|
|
},
|
|
strict: true,
|
|
verbose: true,
|
|
});
|