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。