UNPKG

sharyn

Version:

Combines all the other packages under one.

42 lines (35 loc) 1.32 kB
"use strict"; 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;