2017-09-14 33 views
-1

如果在迁移过程中某些脚本失败,flyway将不会将记录添加到DB2 db中的schema_version以用于失败语句。Flyway不会将schema_version中的语句标记为DB2中的失败

你有什么想法如何避免这种情况?为您观察迁徙路线的行为差异

I did a migration, 4th script failed, i expect this script will have status ABORTED/FAILED

+0

即使迁移失败,是否要更改schema_version?听起来不是一个好主意。 – mao

+0

不,我的意思是如果某个脚本在DB2迁移过程中失败,则不需要使用命令修复,失败脚本的状态为“待定” –

+0

似乎试图迁移和未应用迁移的迁移文档保持状态未决状态。 -612(重复名称)表明相关脚本中存在编码错误,为什么不解决该问题? – mao

回答

1

一种解释是Oracle处理DDL的方式(隐式提交前/每个DDL后)与DB2如何处理DDL(默认事务控制下实现DDL)进行比较。因此,对于Db2,可以将每次迁移安排为原子级,并在发生故障时进行回滚 - 这意味着没有任何可修复的事情,因此无需修复操作,因为Oracle实施可能需要这样做。