import { drizzle } from "drizzle-orm/better-sqlite3"; import { resolveSqliteDatabaseUrl } from "../../lib/resolve-sqlite-url"; if (process.env.NODE_ENV === "production") { // 打包时需要保证migrator被引入 import("drizzle-orm/better-sqlite3/migrator"); } const rawUrl = process.env.DATABASE_URL; if (!rawUrl) { throw new Error("DATABASE_URL 未设置"); } const resolvedUrl = resolveSqliteDatabaseUrl(rawUrl); process.env.DATABASE_URL = resolvedUrl; // better-sqlite3 需要裸文件路径;`file:` 前缀仍保留在 DATABASE_URL 供 drizzle-kit 等使用 const sqlitePath = resolvedUrl.startsWith("file:") ? resolvedUrl.slice("file:".length) : resolvedUrl; const _db = drizzle(sqlitePath); export { _db as dbGlobal };