Files
core2026/packages/infra/prisma.config.ts
T

33 lines
1.0 KiB
TypeScript

import 'dotenv/config';
import { defineConfig } from 'prisma/config';
const resolveSchemaName = (value: string | undefined): string => {
if (!value) {
return 'public';
}
const trimmed = value.trim();
return trimmed ? trimmed : 'public';
};
const buildDatabaseUrlFromEnv = (): string => {
const host = process.env.POSTGRES_HOST ?? '127.0.0.1';
const port = process.env.POSTGRES_PORT ?? '15432';
const user = process.env.POSTGRES_USER ?? 'sammo';
const password = process.env.POSTGRES_PASSWORD ?? '';
const dbName = process.env.POSTGRES_DB ?? 'sammo';
const schema = resolveSchemaName(process.env.POSTGRES_SCHEMA ?? process.env.DATABASE_SCHEMA);
return `postgresql://${user}:${password}@${host}:${port}/${dbName}?schema=${schema}`;
};
const databaseUrl = process.env.DATABASE_URL ?? buildDatabaseUrlFromEnv();
const schemaPath = process.env.PRISMA_SCHEMA ?? 'prisma/game.prisma';
export default defineConfig({
schema: schemaPath,
datasource: {
url: databaseUrl,
},
});