gpt4 book ai didi

sequelize.js - 如何捕获 Sequelize 迁移错误并防止向 SequelizeMeta 表添加迁移

转载 作者:行者123 更新时间:2023-12-03 22:19:17 25 4
gpt4 key购买 nike

我最近开始使用 sequelize-cli 试验 Sequelize Migrations。我注意到,如果迁移脚本抛出错误(使用 try-catch 块),sequelize-cli 仍然使用迁移更新 SequelizeMeta 表,就好像迁移成功一样。
捕获错误并防止 Sequelize 在“向上”时将迁移输入到 SequelizeMeta 表中的最佳方法是什么,相反,当“向下”脚本失败时,防止删除迁移?

最佳答案

由于这样的异常,使用事务来实现回滚所有迁移更改:

    up: (queryInterface) => queryInterface.sequelize.transaction(
async (transaction) => {
await queryInterface.createTable(table, attributes, { transaction });
if (some_condition) {
throw new Error('Error while migrating');
}
}
),

不要忘记在所有 Sequelize 方法调用中指明 transaction
请记住,并非所有 RDBMS 支持结构更改回滚。

关于sequelize.js - 如何捕获 Sequelize 迁移错误并防止向 SequelizeMeta 表添加迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64342537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com