2026-08-31 18:51:27 +00:00
|
|
|
import { closeSequelize, createSequelize } from "@erp/core/api";
|
|
|
|
|
import type { Sequelize } from "sequelize";
|
2025-11-27 19:07:30 +00:00
|
|
|
|
2025-09-23 10:40:49 +00:00
|
|
|
import { logger } from "../lib/logger";
|
2025-11-27 19:07:30 +00:00
|
|
|
|
2026-02-12 14:46:47 +00:00
|
|
|
import type { ConfigType } from "./index";
|
2025-01-29 16:01:17 +00:00
|
|
|
|
2025-08-12 15:09:04 +00:00
|
|
|
/**
|
|
|
|
|
* Crea la instancia de Sequelize según ENV (DATABASE_URL o parámetros sueltos),
|
|
|
|
|
* autentica la conexión y devuelve la instancia lista para usar.
|
|
|
|
|
*/
|
2026-02-12 14:46:47 +00:00
|
|
|
export async function tryConnectToDatabase(config: ConfigType): Promise<Sequelize> {
|
2026-08-31 18:51:27 +00:00
|
|
|
return await createSequelize(config.database, logger);
|
2025-05-02 21:43:51 +00:00
|
|
|
}
|
|
|
|
|
|
2025-08-12 15:09:04 +00:00
|
|
|
/**
|
|
|
|
|
* Cierra la instancia de Sequelize (para integrar con el shutdown).
|
|
|
|
|
*/
|
|
|
|
|
export async function closeDatabase(sequelize: Sequelize): Promise<void> {
|
2026-08-31 18:51:27 +00:00
|
|
|
await closeSequelize(sequelize, logger);
|
2025-01-29 16:01:17 +00:00
|
|
|
}
|