【问题标题】:Sync Sequelize Databases on Serverless app在无服务器应用程序上同步 Sequelize 数据库
【发布时间】:2020-11-10 15:00:52
【问题描述】:

我在 Serverless 离线应用上使用 MySQL 的 sequelize。

我不确定如何在无服务器启动时同步所有模型?

我正在尝试这样做

import Sequelize from "sequelize";
import mysql2 from 'mysql2';

const sequelize = new Sequelize('database', 'root', '', {
    dialect: 'mysql',
    dialectModule: mysql2,
    host: 'localhost',
});

const getSequelize = () => {
    sequelize.sync({ force: false })
        .then(() => {
            console.log(`Database & tables synchronised!`)
        });

    return sequelize;
}

export default getSequelize();

这种方法会同步导入控制器的模型,因此在这种情况下同步所有模型的唯一方法是在每个控制器中包含所有模型。

这看起来不是一个很好的例子。 你有什么想法吗?

【问题讨论】:

    标签: node.js amazon-web-services sequelize.js serverless-framework


    【解决方案1】:

    仅将sequelize.sync 用于开发目的。使用sequelize migrations 进行生产。

    必须有某种方法可以在您的环境中运行控制台命令db:migrate。当您推送所有迁移代码时,使用该命令将您的数据库更新到最新版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多