Sequelize的迁移创建了一个config.json,我可以在其中定义开发,生产和实时环境的数据库数据。因此它知道在哪个数据库中运行迁移文件。
但是我们已经在特定文件夹中定义了这些数据,这些数据位于每个环境的特定配置文件中,我们将其用于当前应用程序。我想在sequelize迁移中使用我们应用程序的当前数据库配置...谁知道如何做到这一点?
或者是否有可能在sequelize的迁移中使用变量,在我们自己的文件中引用数据库的登录数据?
答案 0 :(得分:2)
我们通过将Sequelize迁移配置读入应用配置解决了类似问题。
在我们的 config 文件夹中,我们有一个index.js
。这是它的样子;
var fs = require('fs'),
conf = require('config-node')({ dir: 'config' });
// override the `sql` config using the configuration file used for
// Sequelize migrations
if (fs.existsSync(__dirname + '/config.json')){
conf.sql = require('./config')[process.env.NODE_ENV || 'development'];
}
module.exports = conf;
我们像这样运行我们的主应用程序;
NODE_ENV=production node main.js
我们将配置导入main.js
var config = require('./config'); // this requires the index.js