首先,这是我第一次使用Sequelize,所以请耐心等待。
我想和https://github.com/lorenwest/node-config一起使用https://github.com/sequelize/cli
我希望sequelize能够从多个源文件“组合”它的配置,就像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'使用标准的node-config json文件。
发布于 2018-12-12 07:39:44
在node-config的config文件夹中,创建一个名为config.js的文件
// config/config.js
const config = require('config');
module.exports = {
[process.env.NODE_ENV || 'development']: config.database
};然后在项目的顶级创建一个.sequelizerc。
// .sequelizerc
const path = require('path');
module.exports = {
config: path.resolve('config', 'config.js')
};示例config/development.json
{
"database": {
"username": "root",
"password": "",
"database": "my_database",
"host": "127.0.0.1",
"dialect": "mysql"
}
}要使用env var,可以像通常使用node- custom-environment-variables.json一样使用配置。
发布于 2015-09-03 04:42:53
如果我没理解错你的问题,你必须把.sequelizerc文件放在你的项目的根目录下,内容如下:
var config = require('config');
config.database.config = __filename;
module.exports = config.database;这将导出配置的database部分,该部分由node-config作为sequelize-cli配置的配置文件组成。
https://stackoverflow.com/questions/31500028
复制相似问题