1 | 'use strict';
|
2 | const path = require('path');
|
3 | const fs = require('fs');
|
4 |
|
5 | function requireConfig(name) {
|
6 | const configPath = path.resolve(`./config/config.${name}.js`);
|
7 | if (!fs.existsSync(configPath)) { return {}; }
|
8 |
|
9 | let config = require(configPath);
|
10 |
|
11 | if ((typeof config) === 'function') { config = config({}); }
|
12 | return config.sequelize || {};
|
13 | }
|
14 |
|
15 | const defaultConfig = requireConfig('default');
|
16 | const localConfig = requireConfig('local');
|
17 | const unittestConfig = requireConfig('unittest');
|
18 | const prodConfig = requireConfig('prod');
|
19 |
|
20 | module.exports = {
|
21 | development: Object.assign(defaultConfig, localConfig),
|
22 | test: Object.assign(defaultConfig, unittestConfig),
|
23 | production: Object.assign(defaultConfig, prodConfig),
|
24 | };
|
25 |
|