2026-07-27 21:54:31 +07:00
|
|
|
import {
|
|
|
|
|
closeDatabase as sharedCloseDb,
|
|
|
|
|
executeAll as sharedExecAll,
|
|
|
|
|
executeGet as sharedExecGet,
|
|
|
|
|
getDatabase as sharedGetDb,
|
|
|
|
|
initializeDatabase as sharedInit,
|
|
|
|
|
withDatabaseClient as sharedWithClient,
|
2026-07-30 11:50:48 +07:00
|
|
|
} from "@/shared/database/init";
|
|
|
|
|
import { createChildLogger } from "@/shared/logger/index";
|
2026-09-24 13:23:38 +07:00
|
|
|
import { config } from "../../shared/config/index.js";
|
2026-06-01 21:44:29 +07:00
|
|
|
import * as schema from "./schema.js";
|
|
|
|
|
|
|
|
|
|
const logger = createChildLogger("drizzle");
|
|
|
|
|
|
2026-07-27 21:54:31 +07:00
|
|
|
const dbConfig = {
|
|
|
|
|
DATABASE_URL: config.DATABASE_URL,
|
|
|
|
|
POSTGRES_HOST: config.POSTGRES_HOST,
|
|
|
|
|
POSTGRES_PORT: config.POSTGRES_PORT,
|
|
|
|
|
POSTGRES_USER: config.POSTGRES_USER,
|
|
|
|
|
POSTGRES_PASSWORD: config.POSTGRES_PASSWORD,
|
|
|
|
|
POSTGRES_DB: config.POSTGRES_DB,
|
|
|
|
|
POSTGRES_POOL_MIN: config.POSTGRES_POOL_MIN,
|
|
|
|
|
POSTGRES_POOL_MAX: config.POSTGRES_POOL_MAX,
|
|
|
|
|
};
|
2026-06-01 21:44:29 +07:00
|
|
|
|
|
|
|
|
export async function initializeDatabase() {
|
2026-07-27 21:54:31 +07:00
|
|
|
logger.info("Initializing database");
|
|
|
|
|
return sharedInit(dbConfig, schema);
|
2026-06-01 21:44:29 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function getDatabase() {
|
2026-07-27 21:54:31 +07:00
|
|
|
return sharedGetDb();
|
2026-06-01 21:44:29 +07:00
|
|
|
}
|
|
|
|
|
|
2026-07-27 21:54:31 +07:00
|
|
|
export const closeDatabase = sharedCloseDb;
|
|
|
|
|
export const executeAll = sharedExecAll;
|
|
|
|
|
export const executeGet = sharedExecGet;
|
|
|
|
|
export const withDatabaseClient = sharedWithClient;
|