javascript - 续集动态数据库配置
问题描述
我想问是否可以在 sequelize-cli 中使用基于 Promise 的配置。所以,它背后的想法是我的配置文件在 AWS S3 中,但它没有格式化以匹配 sequelize 的配置文件(我必须在代码中重新格式化它)
我在文档中没有找到任何东西。http://docs.sequelizejs.com/manual/tutorial/migrations.html#dynamic-configuration。他们说他们可以使用js文件,但是js文件可以先从S3下载配置文件吗?
谢谢!
解决方案
TL;DR 你可以导出一个config.js
返回配置对象的承诺。例如:
module.exports = somePromise().then(data => {
....,
production: {
username: data.user,
password: data.password,
database: data.db,
host: data.host,
dialect: 'mysql',
},
})
经过广泛的研究,我发现它config.js
实际上可以处理承诺。
因此,要使其正常工作,您需要.sequelizerc
在根文件夹(使用 sequelize 的位置)中提供文件并将其复制到文件中
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
. 我在 sequelize github 问题跟踪器上找到了答案并发现了这个问题:https ://github.com/sequelize/cli/issues/668
推荐阅读
- bash - 我们可以在 shell 脚本(Bash)中使用 lldb 吗?
- php - wordpress php代码使用post_content调用显示来自数组内部的db图像
- javascript - 使用线性渐变编辑图像并转换为 base64 React
- javascript - 发布数据后jQuery添加选择到选项
- mongodb - 如何在 mongodb 的 rs.status() 上使用 substr 仅获取主机名
- spring - 如何在 AWS EKS 上部署 Spring Cloud Data Flow
- java - 在 Java 中创建 Thread 的实时优势是什么?
- php - eval() 替代方法来获取字符串的输出,例如 "(0 AND 1 OR 1)"
- java - 使用java取消jdbc SQL查询
- c# - 在 c# 中使用触发器将产品添加到表购物车(它不会自动关闭)