我在 Serverless 离线应用程序上使用 sequelize 和 MySQL。
我不确定如何在无服务器启动时同步所有模型?
我试图这样做
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();
这种方法同步导入到 Controller 中的模型,因此在这种情况下同步所有模型的唯一方法是在每个 Controller 中包含所有模型。这看起来不是一个很好的例子。
你有什么主意吗?
最佳答案
sequelize.sync
仅用于开发目的。使用 sequelize migrations 进行生产。
必须有某种方法可以在您的环境中运行控制台命令 db:migrate
。当您推送所有迁移代码时,请使用该命令将您的数据库更新到最新版本。
关于node.js - 在无服务器应用程序上同步 Sequelize 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63010989/