如何阻止Sequelize删除现有表?

时间:2018-01-03 12:55:20

标签: sequelize.js

我正在使用express.js在nodejs中创建一个应用程序,我需要连接Oracle数据库,我正在使用Sequelize ORM框架,我创建模型并尝试访问数据库,它删除了现有表并创建了新表,我丢失了我的数据,如何停止删除表并使用Sequelize orm与现有的表和数据同步?

3 个答案:

答案 0 :(得分:3)

不要打电话

sequelize.sync()

只有直接连接到db,sync才会删除db,我不推荐使用sync进行自动db迁移,而是使用sequelize migration进行系统的db迁移。

const sequelize = new Sequelize('postgres://user:pass@example.com:5432/dbname');

答案 1 :(得分:1)

设置 force:false 当force为true时,它意味着你允许sequelize删除现有表并创建新表。

sequelize.sync({
  force: false,
}).then(() => {
        // your code 
});

答案 2 :(得分:0)

模型会自动映射,您只需要定义它们。您可以使用https://github.com/sequelize/sequelize-auto直接从db生成模型文件,然后根据需要定义关联