import { defineConfig } from "drizzle-kit"; import path from "node:path"; import { readFileSync } from "node:fs"; // 手动加载根目录 .env(monorepo 中 drizzle-kit 不会自动找到) try { const env = readFileSync(path.resolve(__dirname, "../../.env"), "utf-8"); for (const line of env.split("\n")) { const [key, ...vals] = line.split("="); if (key && !key.startsWith("#")) { process.env[key.trim()] = vals.join("=").trim(); } } } catch {} const url = process.env["TURSO_DATABASE_URL"]; if (!url) throw new Error("TURSO_DATABASE_URL is required"); export default defineConfig({ // 指向构建产物:drizzle-kit 以 CJS require 加载,无法解析 src 里 ESM 风格的 .js 后缀相对导入 schema: "../models/dist/index.js", out: "./drizzle", dialect: "turso", // 本地 file:;线上 libsql:// + token(由根 .env 注入,勿写死) dbCredentials: { url, authToken: process.env["TURSO_AUTH_TOKEN"], }, });