UNPKG

2.46 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const pg_1 = require("pg");
4const PostgresqlDriver_1 = require("./Orm/PostgresqlDriver");
5const utils_1 = require("./utils");
6const logger_1 = require("./logger");
7async function dbInit(projectDir, options) {
8 const config = options.config;
9 const pool = new pg_1.Pool({
10 password: config.password,
11 user: config.user,
12 database: config.database,
13 host: config.host,
14 port: typeof config.port === 'string' ? Number(config.port) : config.port,
15 });
16 const db = await PostgresqlDriver_1.createDB(pool);
17 while (true) {
18 try {
19 await db.query(PostgresqlDriver_1.sql `SELECT 1`);
20 break;
21 }
22 catch (e) {
23 logger_1.logger.info('Postgres is unavailable', e);
24 await utils_1.sleep(1000);
25 }
26 }
27 const migrations = await PostgresqlDriver_1.readMigrationsFromDir(projectDir + '/migrations/');
28 await PostgresqlDriver_1.migrateUp(db, migrations);
29 return { db, pool };
30}
31exports.dbInit = dbInit;
32//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGJJbml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RiSW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJCQUEwQjtBQUMxQiw2REFBMkc7QUFDM0csbUNBQWdDO0FBQ2hDLHFDQUFrQztBQWUzQixLQUFLLFVBQVUsTUFBTSxDQUFvQyxVQUFrQixFQUFFLE9BQWtCO0lBQ3JHLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxTQUFJLENBQUM7UUFDckIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtRQUNqQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDekIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1FBQ2pCLElBQUksRUFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtLQUN6RSxDQUFDLENBQUM7SUFDSCxNQUFNLEVBQUUsR0FBRyxNQUFNLDJCQUFRLENBQVcsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTyxJQUFJLEVBQUU7UUFDWixJQUFJO1lBQ0gsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLHNCQUFHLENBQUEsVUFBVSxDQUFDLENBQUM7WUFDOUIsTUFBTTtTQUNOO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDWCxlQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sYUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xCO0tBQ0Q7SUFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLHdDQUFxQixDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsQ0FBQztJQUM1RSxNQUFNLDRCQUFTLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDckIsQ0FBQztBQXRCRCx3QkFzQkMifQ==
\No newline at end of file