sharyn
Version:
Combines all the other packages under one.
42 lines (35 loc) • 1.32 kB
JavaScript
;
var _checkSetup = require("@sharyn/check-setup");
var _env = require("@sharyn/env");
// flow-disable-next-line
// flow-disable-next-line
var DEFAULT_DATABASE_URL = 'postgres://postgres@localhost:8432/postgres';
var DEFAULT_TEST_DATABASE_URL = 'postgres://postgres@localhost:8433/postgres';
var knexConfig = {
connection: _env.NODE_ENV === 'test' ? _env.TEST_DATABASE_URL || DEFAULT_TEST_DATABASE_URL : _env.DATABASE_URL || DEFAULT_DATABASE_URL,
migrations: {
directory: './src/_db/migrations'
}
};
if ((0, _checkSetup.hasPackage)('pg')) {
knexConfig.client = 'pg';
} else if ((0, _checkSetup.hasPackage)('mysql')) {
knexConfig.client = 'mysql';
} else if ((0, _checkSetup.hasPackage)('mysql2')) {
knexConfig.client = 'mysql2';
} else if ((0, _checkSetup.hasPackage)('sqlite3')) {
knexConfig.client = 'sqlite3';
} else if ((0, _checkSetup.hasPackage)('oracle')) {
knexConfig.client = 'oracle';
} else if ((0, _checkSetup.hasPackage)('mssql')) {
knexConfig.client = 'mssql';
} else {
throw Error('It seems that no database package is installed (Knex supports `pg`, `mysql`, `mysql2`, `sqlite3`, `oracle`, `mssql`)');
}
var seedsPath = './src/_db/seeds';
if ((0, _checkSetup.hasFile)(seedsPath)) {
knexConfig.seeds = {
directory: seedsPath
};
}
module.exports = knexConfig;