如果 flyway 迁移失败,alter 语句是否会回滚?

Do alter statements get rolled back if flyway migration fails?

背景

我是 运行 使用命令行界面针对 DB2 的飞行路线迁移。我做了很多测试,一切正常。我添加了一些命令导致失败。

问题

有人可以确认如果迁移失败并且数据库支持 DDL,是否应该回滚 alter table、drop table 或 create table?当我测试它时,它看起来像一个 alter table add column 语句在同一飞路脚本失败后没有回滚。

好的,所以我查看了 flyway 网站并找到了支持 DDL 的受支持驱动程序和版本列表。我们使用的 DB2 版本似乎低于此阈值。基于此,我猜想迁移脚本的执行未绑定在单个事务中,这就是为什么我看到在脚本失败之前应用的一些更改仍然存在。