如何将 sequelize.sync 选项 force 设置为 false?
How to set sequelize.sync option force to false?
我正在使用 mysql 数据库部署一个 node.js 应用程序,并在 heroku 上使用 sequelize ORM。当我部署时,sequelize 会重新创建数据库。该应用程序无法运行,因为它需要数据库中的数据。
我认为 sequelize.sync 选项是罪魁祸首。在我的本地开发环境中,我手动设置了 force: false。但是在 heroku 上,sequelize 正在重新安装 (package.json),我猜同步默认为 force:true。
如何设置选项来停止此行为?我浏览了文档并尝试了这个:
var sequelizeOptions = {
host: "blah.blah.us-east-1.rds.amazonaws.com",
dialect: 'mysql',
port: 3306,
sync: {force:false}
};
这将被传递给 sequelizeManager,后者负责处理 DB 的创建。这种方法是行不通的。非常感谢任何帮助。
sequelize.sync
是一个选项对象,它简单地规定了调用时应该如何执行同步,仅供参考,默认情况下 force
是 false
。问题是您在代码中的某处调用 sequelize.sync()
,可能在您注册模型的同一位置。您需要阻止您的代码执行 sync()
.
我正在使用 mysql 数据库部署一个 node.js 应用程序,并在 heroku 上使用 sequelize ORM。当我部署时,sequelize 会重新创建数据库。该应用程序无法运行,因为它需要数据库中的数据。
我认为 sequelize.sync 选项是罪魁祸首。在我的本地开发环境中,我手动设置了 force: false。但是在 heroku 上,sequelize 正在重新安装 (package.json),我猜同步默认为 force:true。
如何设置选项来停止此行为?我浏览了文档并尝试了这个:
var sequelizeOptions = {
host: "blah.blah.us-east-1.rds.amazonaws.com",
dialect: 'mysql',
port: 3306,
sync: {force:false}
};
这将被传递给 sequelizeManager,后者负责处理 DB 的创建。这种方法是行不通的。非常感谢任何帮助。
sequelize.sync
是一个选项对象,它简单地规定了调用时应该如何执行同步,仅供参考,默认情况下 force
是 false
。问题是您在代码中的某处调用 sequelize.sync()
,可能在您注册模型的同一位置。您需要阻止您的代码执行 sync()
.