Fix Prisma client initialization to use SQLite adapter in production/dev

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-01-08 03:46:26 +00:00
parent 544dceba62
commit 9f37692079

View File

@@ -45,13 +45,23 @@ const createIntegrationPrisma = (): PrismaClient => {
return new PrismaClient({ adapter }) return new PrismaClient({ adapter })
} }
const createProductionPrisma = (): PrismaClient => {
// Use the database file from env or default location
const dbPath = process.env.DATABASE_URL?.replace('file:', '') || '../../prisma/prisma/dev.db'
const db = new Database(dbPath)
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
const adapter = new PrismaBetterSqlite3(db)
return new PrismaClient({
adapter,
log: process.env.NODE_ENV === 'development' ? ['error', 'warn'] : ['error'],
})
}
export const prisma = export const prisma =
globalForPrisma.prisma ?? globalForPrisma.prisma ??
(isTestEnv (isTestEnv
? (isIntegrationTest ? createIntegrationPrisma() : createMockPrisma()) ? (isIntegrationTest ? createIntegrationPrisma() : createMockPrisma())
: new PrismaClient({ : createProductionPrisma())
log: process.env.NODE_ENV === 'development' ? ['error', 'warn'] : ['error'],
}))
if (process.env.NODE_ENV !== 'production' && (!isTestEnv || isIntegrationTest)) { if (process.env.NODE_ENV !== 'production' && (!isTestEnv || isIntegrationTest)) {
globalForPrisma.prisma = prisma globalForPrisma.prisma = prisma