192def9008
Sets up Prisma 7 with SQLite (better-sqlite3 adapter), User and SyncRun models, migration, and admin seed account for mathieu.fort@gmail.com. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
808 B
TypeScript
24 lines
808 B
TypeScript
import { PrismaClient } from '@prisma/client'
|
|
import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3'
|
|
import path from 'path'
|
|
|
|
function createPrismaClient() {
|
|
const dbUrl = process.env.DATABASE_URL ?? 'file:./data/dev.db'
|
|
// Parse the file path from "file:./data/dev.db" format
|
|
const dbPath = dbUrl.startsWith('file:')
|
|
? path.resolve(process.cwd(), dbUrl.slice('file:'.length))
|
|
: dbUrl
|
|
|
|
const adapter = new PrismaBetterSqlite3({ url: dbPath })
|
|
return new PrismaClient({
|
|
adapter,
|
|
log: process.env.NODE_ENV === 'development' ? ['error'] : [],
|
|
})
|
|
}
|
|
|
|
const globalForPrisma = globalThis as unknown as { prisma: PrismaClient }
|
|
|
|
export const prisma = globalForPrisma.prisma ?? createPrismaClient()
|
|
|
|
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma
|