chore(deps): upgrade Prisma 6.19 -> 7.8.0 (Rust-free client + mariadb adapter)
prisma / @prisma/client 6.19.2 -> 7.8.0; added @prisma/adapter-mariadb 7.8.0 and mariadb 3.5.2 (the runtime driver). Prisma 7 breaking changes handled (verified via Prisma's own tooling — the official upgrade-guide summary had hallucinated package names, so I confirmed everything against `prisma validate`/`generate` and the installed type defs): - The Rust query engine is removed; the runtime connection is now made through a driver adapter. src/config/database.ts wires PrismaMariaDb, parsing DATABASE_URL into an explicit mariadb pool config so the literal `@` in our password (which a naive connection-string parser mishandles) is correct. - datasource `url` is no longer allowed in schema.prisma -> moved to a new prisma.config.ts (schema + datasource.url + migrations.seed). Prisma 7 no longer auto-loads .env, so the config does `import "dotenv/config"`. - The deprecated package.json#prisma seed config was removed (now in the config). - seed.ts and the two maintenance scripts now use the shared adapter-wired client. The legacy `prisma-client-js` generator STILL works under v7 (generates to @prisma/client as before), so NO import-path changes were needed across the 16 @prisma/client import sites — switching to the new prisma-client/output generator is not required for us. No prisma.$use() middleware exists. Node 24 / TS 5.9 exceed the v7 minimums (20.19 / 5.4). No migrations were run (your DBs are untouched); removing datasource.url is a config change, not DDL, so this phase needs no new migration. Gates: tsc 0 | build 0 | vitest 247/247 against app_test (proves the mariadb adapter works at runtime, incl. raw SELECT...FOR UPDATE locking and Decimal/VAT) | eslint 0 errors. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,6 @@ generator client {
|
||||
|
||||
datasource db {
|
||||
provider = "mysql"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model attendance {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { PrismaClient } from "@prisma/client";
|
||||
import "dotenv/config";
|
||||
import bcrypt from "bcryptjs";
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
// Use the shared, adapter-wired client (Prisma 7 needs a driver adapter).
|
||||
// dotenv is imported first so DATABASE_URL is set before database.ts reads it.
|
||||
import prisma from "../src/config/database";
|
||||
|
||||
const PERMISSIONS: {
|
||||
name: string;
|
||||
|
||||
Reference in New Issue
Block a user