UNPKG

@softkit/typeorm

Version:

This library has some useful utilities for typeorm, entities, repositories, useful subscribers, interceptors.

45 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AppDataSource = void 0; const tslib_1 = require("tslib"); const common_1 = require("@nestjs/common"); const path = tslib_1.__importStar(require("node:path")); require("reflect-metadata"); const typeorm_1 = require("typeorm"); const db_1 = require("../config/db"); const core_1 = require("@nestjs/core"); const config_1 = require("@softkit/config"); const validation_1 = require("@softkit/validation"); const sourceDir = path.join(process.cwd(), // todo figure out how to improve it using nx `apps/${process.env['MIGRATION_APP_NAME']}/src`); class RootConfig { } tslib_1.__decorate([ (0, validation_1.ValidateNestedProperty)({ classType: db_1.DbConfig }), tslib_1.__metadata("design:type", db_1.DbConfig) ], RootConfig.prototype, "db", void 0); let DatabaseMigrationModule = class DatabaseMigrationModule { }; DatabaseMigrationModule = tslib_1.__decorate([ (0, common_1.Module)({ imports: [(0, config_1.setupYamlBaseConfigModule)(`${sourceDir}/app`, RootConfig)], }) ], DatabaseMigrationModule); async function bootstrap() { const app = await core_1.NestFactory.createApplicationContext(DatabaseMigrationModule, { logger: ['warn', 'error', 'fatal', 'verbose'], }); return app.get(RootConfig).db; } const appDir = path.join(sourceDir, 'app'); exports.AppDataSource = bootstrap().then((db) => { return new typeorm_1.DataSource({ ...db, entities: [path.join(appDir, 'database/entities/**/*{.ts,.js}')], migrations: [ path.join(appDir, 'database/migrations/**/!(*index){.ts,.js}'), ], }); }); //# sourceMappingURL=migration-data-source.js.map