续集动态数据库配置
sequelize dynamic db config
我想问一下是否可以在sequelize-cli 中使用基于promise 的配置。
所以,它背后的想法是我的配置文件在 AWS S3 中,但它的格式与 sequelize 的配置文件不匹配(我必须在代码中重新格式化)
我没有在文档中找到任何内容。 http://docs.sequelizejs.com/manual/tutorial/migrations.html#dynamic-configuration。他们说他们可以使用一个js文件,但是js文件可以先从S3下载配置文件吗?
谢谢!
TL;DR 您可以在 config.js
中导出一个承诺,其中 return 配置对象。例如:
module.exports = somePromise().then(data => {
....,
production: {
username: data.user,
password: data.password,
database: data.db,
host: data.host,
dialect: 'mysql',
},
})
经过广泛的研究,我发现 config.js
实际上可以处理 promise。
所以要让它工作,您需要在根文件夹(您使用 sequelize 的地方)中提供 .sequelizerc
文件并将其复制到文件
const path = require('path');
module.exports = {
'config': path.resolve('config', 'config.js')
}
然后,创建一个 config.js
文件。这些步骤记录在 http://docs.sequelizejs.com/manual/tutorial/migrations.html#dynamic-configuration
中
下一步是在config.js
中使用promise。我在 sequelize github issues tracker 上找到了答案并发现了这个问题:https://github.com/sequelize/cli/issues/668
我想问一下是否可以在sequelize-cli 中使用基于promise 的配置。 所以,它背后的想法是我的配置文件在 AWS S3 中,但它的格式与 sequelize 的配置文件不匹配(我必须在代码中重新格式化)
我没有在文档中找到任何内容。 http://docs.sequelizejs.com/manual/tutorial/migrations.html#dynamic-configuration。他们说他们可以使用一个js文件,但是js文件可以先从S3下载配置文件吗?
谢谢!
TL;DR 您可以在 config.js
中导出一个承诺,其中 return 配置对象。例如:
module.exports = somePromise().then(data => {
....,
production: {
username: data.user,
password: data.password,
database: data.db,
host: data.host,
dialect: 'mysql',
},
})
经过广泛的研究,我发现 config.js
实际上可以处理 promise。
所以要让它工作,您需要在根文件夹(您使用 sequelize 的地方)中提供 .sequelizerc
文件并将其复制到文件
const path = require('path');
module.exports = {
'config': path.resolve('config', 'config.js')
}
然后,创建一个 config.js
文件。这些步骤记录在 http://docs.sequelizejs.com/manual/tutorial/migrations.html#dynamic-configuration
下一步是在config.js
中使用promise。我在 sequelize github issues tracker 上找到了答案并发现了这个问题:https://github.com/sequelize/cli/issues/668