nodejs sequelize / cli如何使用node-config

首先,这是我第一次使用Sequelize,所以要有耐心。

我想使用https://github.com/sequelize/cli以及https://github.com/lorenwest/node-config

我想要sequelize能够“编写”来自多个源文件的configuration,就像node-config一样。

到现在我已经解决了

.sequelizerc

var path = require('path') var Config = require('config'); var env =Config.util.getEnv('NODE_ENV'); module.exports = { 'config': path.resolve('config', env + '.json') } 

development.json ie

 { "app": { "name": "my api" }, "server": { "port": 8081 }, "development": { "username": "username", "password": "password", "database": "database", "host": "127.0.0.1", "dialect": "mysql" } } 

你可以看到我必须在所有的env.json文件中设置一个没有逻辑意义的多余的env键。

有没有更好的办法 ?

退税

要获取数据:

 var env =Config.util.getEnv('NODE_ENV'); var configDb = Config.get(env); 

这样文件加载顺序的所有选项都会丢失。

https://github.com/lorenwest/node-config/wiki/Configuration-Files

另一种方式

 sequelize db:migrate --url 'mysql://root:password@mysql_host.com/database_name' 

与标准的节点configurationjson文件。

如果我正确地理解了你的问题,你必须把.sequelizerc文件放在你的项目的根目录下:

 var config = require('config'); config.database.config = __filename; module.exports = config.database; 

这导出您的configuration的database部分,由configuration文件由node-config组成,作为sequelize-cliconfiguration。