UNPKG

alapa

Version:

A cutting-edge web development framework designed to revolutionize the way developers build modern web applications.

45 lines (44 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateDBConnectionForMigration = updateDBConnectionForMigration; const typeorm_1 = require("typeorm"); const typeorm_naming_strategies_1 = require("typeorm-naming-strategies"); const globals_1 = require("../shared/globals"); const model_1 = require("../data/model"); const global_config_1 = require("./global-config"); let DatabaseConnectionForMigration = new typeorm_1.DataSource({ type: "sqlite", database: "test.db", }); async function updateDBConnectionForMigration() { // Ensure previous connection is closed before updating if (DatabaseConnectionForMigration?.isInitialized) { await DatabaseConnectionForMigration.destroy(); } const databaseConfig = globals_1.GlobalConfig.database; const config = { ...global_config_1.globalConfig, ...databaseConfig.connection, }; config.entities = ["src/models/**/*.ts"]; config.migrations = ["migration/**/*.ts"]; // Ensure that entities are handled correctly if (Array.isArray(config.entities)) { // Add or update entities as needed if (!config.entities.includes(model_1.SessionDatabase)) { config.entities.push(model_1.SessionDatabase); } } else { // If entities is not an array, initialize it with the new entity config.entities = [model_1.SessionDatabase]; } // Initialize the new connection DatabaseConnectionForMigration = new typeorm_1.DataSource({ ...config, namingStrategy: new typeorm_naming_strategies_1.SnakeNamingStrategy(), }); await DatabaseConnectionForMigration.initialize(); // console.log("Database connection updated and initialized."); } exports.default = DatabaseConnectionForMigration;