UNPKG

1.32 kBJavaScriptView Raw
1"use strict";
2
3var _checkSetup = require("@sharyn/check-setup");
4
5var _env = require("@sharyn/env");
6
7// flow-disable-next-line
8// flow-disable-next-line
9var DEFAULT_DATABASE_URL = 'postgres://postgres@localhost:8432/postgres';
10var DEFAULT_TEST_DATABASE_URL = 'postgres://postgres@localhost:8433/postgres';
11var knexConfig = {
12 connection: _env.NODE_ENV === 'test' ? _env.TEST_DATABASE_URL || DEFAULT_TEST_DATABASE_URL : _env.DATABASE_URL || DEFAULT_DATABASE_URL,
13 migrations: {
14 directory: './src/_db/migrations'
15 }
16};
17
18if ((0, _checkSetup.hasPackage)('pg')) {
19 knexConfig.client = 'pg';
20} else if ((0, _checkSetup.hasPackage)('mysql')) {
21 knexConfig.client = 'mysql';
22} else if ((0, _checkSetup.hasPackage)('mysql2')) {
23 knexConfig.client = 'mysql2';
24} else if ((0, _checkSetup.hasPackage)('sqlite3')) {
25 knexConfig.client = 'sqlite3';
26} else if ((0, _checkSetup.hasPackage)('oracle')) {
27 knexConfig.client = 'oracle';
28} else if ((0, _checkSetup.hasPackage)('mssql')) {
29 knexConfig.client = 'mssql';
30} else {
31 throw Error('It seems that no database package is installed (Knex supports `pg`, `mysql`, `mysql2`, `sqlite3`, `oracle`, `mssql`)');
32}
33
34var seedsPath = './src/_db/seeds';
35
36if ((0, _checkSetup.hasFile)(seedsPath)) {
37 knexConfig.seeds = {
38 directory: seedsPath
39 };
40}
41
42module.exports = knexConfig;
\No newline at end of file