18 lines
588 B
JavaScript
18 lines
588 B
JavaScript
// 服务端 Prisma 单例, 使用 mariadb 适配器
|
|
import 'dotenv/config'
|
|
import { PrismaMariaDb } from '@prisma/adapter-mariadb'
|
|
import { PrismaClient } from '../generated/prisma/client.ts'
|
|
|
|
function parseDatabaseUrl(url) {
|
|
const u = new URL(url)
|
|
return {
|
|
host: u.hostname,
|
|
port: Number(u.port) || 3306,
|
|
user: decodeURIComponent(u.username),
|
|
password: decodeURIComponent(u.password),
|
|
database: u.pathname.replace(/^\//, ''),
|
|
}
|
|
}
|
|
|
|
const adapter = new PrismaMariaDb(parseDatabaseUrl(process.env.DATABASE_URL))
|
|
export const prisma = new PrismaClient({ adapter }) |