首页 > 解决方案 > 续集动态数据库配置

问题描述

我想问是否可以在 sequelize-cli 中使用基于 Promise 的配置。所以,它背后的想法是我的配置文件在 AWS S3 中,但它没有格式化以匹配 sequelize 的配置文件(我必须在代码中重新格式化它)

我在文档中没有找到任何东西。http://docs.sequelizejs.com/manual/tutorial/migrations.html#dynamic-configuration。他们说他们可以使用js文件,但是js文件可以先从S3下载配置文件吗?

谢谢!

标签: javascriptsequelize.jssequelize-cli

解决方案


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


推荐阅读