27 lines
900 B
TypeScript
27 lines
900 B
TypeScript
// src/db/index.ts
|
|
import { drizzle } from "drizzle-orm/node-postgres";
|
|
import { Pool } from "pg";
|
|
import * as schema from "./schema";
|
|
import {secrets} from "../src/utils/secrets";
|
|
|
|
console.log("[DB INIT] 1. Suche Connection String...");
|
|
|
|
// Checken woher die URL kommt
|
|
let connectionString = process.env.DATABASE_URL || secrets.DATABASE_URL;
|
|
if (connectionString) {
|
|
console.log("[DB INIT] -> Gefunden in process.env.DATABASE_URL");
|
|
} else {
|
|
console.error("[DB INIT] ❌ KEIN CONNECTION STRING GEFUNDEN! .env nicht geladen?");
|
|
}
|
|
|
|
export const pool = new Pool({
|
|
connectionString,
|
|
max: 10,
|
|
});
|
|
|
|
// TEST: Ist die DB wirklich da?
|
|
pool.query('SELECT NOW()')
|
|
.then(res => console.log(`[DB INIT] ✅ VERBINDUNG ERFOLGREICH! Zeit auf DB: ${res.rows[0].now}`))
|
|
.catch(err => console.error(`[DB INIT] ❌ VERBINDUNGSFEHLER:`, err.message));
|
|
|
|
export const db = drizzle(pool, { schema }); |