feat(db) - replace dotenv with custom environment variable loader in prisma.config.ts; remove old configuration file

This commit is contained in:
2026-02-27 22:17:30 -05:00
parent 131bd6db41
commit cc66660ccd
2 changed files with 38 additions and 12 deletions

View File

@@ -0,0 +1,38 @@
import path from "path";
import fs from "fs";
import { defineConfig } from "prisma/config";
function loadEnvFile(): string | undefined {
const candidates = [
path.resolve(__dirname, "prisma", ".env"),
path.resolve(process.cwd(), "prisma", ".env"),
path.resolve(__dirname, ".env"),
path.resolve(process.cwd(), ".env"),
];
for (const p of candidates) {
try {
if (!fs.existsSync(p)) continue;
const content = fs.readFileSync(p, "utf-8");
for (const line of content.split("\n")) {
const trimmed = line.trim();
if (!trimmed || trimmed.startsWith("#")) continue;
const eqIdx = trimmed.indexOf("=");
if (eqIdx < 0) continue;
const key = trimmed.slice(0, eqIdx).trim();
const val = trimmed.slice(eqIdx + 1).trim();
if (key === "DATABASE_URL") return val;
}
} catch {}
}
return process.env.DATABASE_URL;
}
const url = loadEnvFile();
export default defineConfig({
schema: "prisma/schema.prisma",
datasource: {
url: url!,
},
});

View File

@@ -1,12 +0,0 @@
import dotenv from "dotenv";
import path from "path";
import { defineConfig, env } from "prisma/config";
dotenv.config({ path: path.resolve(__dirname, ".env") });
export default defineConfig({
schema: "schema.prisma",
datasource: {
url: env("DATABASE_URL"),
},
});