feat: prisma schema User + SyncRun + seed admin

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>
This commit is contained in:
2026-06-06 17:15:54 +02:00
parent 1b60fd79f7
commit 192def9008
9 changed files with 721 additions and 8 deletions
+23
View File
@@ -0,0 +1,23 @@
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