来自flyway网站。
如果迁移失败,Flyway会回滚吗?
Flyway在单独的事务中运行每个迁移。的情况下 失败,该事务将回滚。不幸的是,只有今天 DB2,PostgreSQL,Derby,EnterpriseDB以及一定程度上的SQL 服务器支持事务内的DDL语句。其他数据库 例如Oracle会隐式地在每次提交之前和之后进行一次提交 DDL声明,大大降低了此功能的有效性 背部。如果要解决此问题,一种替代方法是包括 每次迁移仅一个DDL语句。但是这个解决方案有 麻烦的缺点。
如果迁移失败,这就是我们始终需要做的事情。
迁移失败后如何修复数据库?如果你的 数据库支持DDL事务,Flyway会为您完成工作。
如果您的数据库不存在,请执行以下步骤:
手动撤消迁移的更改调用修复命令 解决失败的迁移,然后重试
FYR: https://flywaydb.org/documentation/faq#repair
问题是:
Oracle在事务内部不支持DDL语句是什么意思?
DDL是指创建表,修改表等吗?
有没有解决方案,直到所有语句都不要提交更改 脚本内部是否成功执行?
感谢您的帮助。谢谢。