【问题标题】:sequelize dynamic db config续集动态数据库配置
【发布时间】:2018-10-02 05:35:28
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: javascript sequelize.js sequelize-cli


    【解决方案1】:

    TL;DR 你可以在config.js 中导出一个promise,它返回配置对象。例如:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2021-04-30
      • 2018-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多