feat: Implement database initialization script and Drizzle ORM connection setup.

This commit is contained in:
Michael committed 2026-03-10 11:11:27 +01:00
1 parent 8902b535a8
commit 8fae4391a2
2 files changed
+17 -8

No files matched your search

+10 -7
View File
@@ -18,10 +18,7 @@ function maskUrl(url: string | undefined) {
export function getDb() {
if (currentDb) return currentDb;
let connectionString = process.env.DATABASE_URL;
console.log("[DB] Initializing connection...");
console.log("[DB] Env DATABASE_URL:", maskUrl(process.env.DATABASE_URL));
let connectionString = "";
try {
const CONFIG_PATH = path.join(process.cwd(), "data", ".db-config.json");
@@ -30,15 +27,21 @@ export function getDb() {
const config = JSON.parse(fs.readFileSync(CONFIG_PATH, "utf-8"));
if (config.url) {
connectionString = config.url;
console.log("[DB] Using saved database URL:", maskUrl(connectionString));
console.log("[DB] Loaded saved database URL from config.");
}
} else {
console.log("[DB] No saved config file found. Using environment variable.");
}
} catch (err) {
console.error("[DB] Error reading config file:", err);
}
// IMPORTANT: Environment variable MUST take precedence in container environments
if (process.env.DATABASE_URL) {
connectionString = process.env.DATABASE_URL;
console.log("[DB] Using environment variable (優先度高).");
}
console.log("[DB] Initializing connection with:", maskUrl(connectionString));
if (!connectionString) {
console.error("[DB] CRITICAL: No database connection string available!");
}