This commit is contained in:
27
src/db.ts
27
src/db.ts
@ -1,13 +1,26 @@
|
||||
import { Pool } from "pg";
|
||||
import "reflect-metadata";
|
||||
import { DataSource } from "typeorm";
|
||||
import { User } from "./entities/User";
|
||||
import { Review } from "./entities/Review";
|
||||
import { Saved } from "./entities/Saved";
|
||||
|
||||
export const db = new DataSource({
|
||||
type: "postgres",
|
||||
url: process.env.DATABASE_URL,
|
||||
synchronize: process.argv.includes("sync"),
|
||||
entities: [User, Review, Saved]
|
||||
})
|
||||
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]
|
||||
})
|
||||
}
|
||||
return db;
|
||||
}
|
||||
|
||||
export async function initDb() {
|
||||
const db = getDb();
|
||||
if (!db.isInitialized) {
|
||||
await db.initialize();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user