import "reflect-metadata"; import { DataSource } from "typeorm"; import { User } from "./entities/User"; import { Review } from "./entities/Review"; import { Saved } from "./entities/Saved"; import { Hazard } from "./entities/Hazard"; import { Store } from "./entities/Stores"; import { Follow } from "./entities/Follow"; let db: DataSource | null = null; export function getDb(forceSync = false): DataSource { if (!db) { db = new DataSource({ type: "postgres", url: process.env.DATABASE_URL, synchronize: process.argv.includes("sync") || forceSync, entities: [User, Review, Saved, Hazard, Store, Follow], }); } return db; } export async function initDb() { const db = getDb(); if (!db.isInitialized) { await db.initialize(); } }