Files
ClassHelper/packages/server/prisma.config.ts
T

29 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { config as loadEnv } from 'dotenv';
import { defineConfig } from 'prisma/config';
/**
* Prisma 7 使用 prisma.config.ts 取代了旧的 package.json#prisma 配置块,
* 并且 datasource 的 url 从 schema.prisma 迁移到这里。
*
* 注意:Prisma 7 的生成器不再自动加载 .env,因此这里显式加载
* packages/server/.env(以 config 文件所在目录为基准,避免依赖 cwd)。
*/
const configDir = path.dirname(fileURLToPath(import.meta.url));
loadEnv({ path: path.join(configDir, '.env') });
export default defineConfig({
schema: 'prisma/schema.prisma',
migrations: {
path: 'prisma/migrations',
// 直接指向 tsx 的入口,避免依赖 shell 的 PATH 里是否有 node_modules/.bin
seed: 'node ./node_modules/tsx/dist/cli.mjs prisma/seed.ts',
},
datasource: {
// SQLite:file:./prisma/dev.db 会由 src/config/env.ts 解析为绝对路径;
// MySQL:mysql://user:password@host:3306/classhelper
url: process.env.DATABASE_URL ?? 'file:./prisma/dev.db',
},
});