FlywayMigrate在Oracle中失败,但没有回滚整个sql文件

时间:2019-03-04 04:31:22

标签: oracle flyway

来自flyway网站。

如果迁移失败,Flyway会回滚吗?

  

Flyway在单独的事务中运行每个迁移。的情况下   失败,该事务将回滚。不幸的是,只有今天   DB2,PostgreSQL,Derby,EnterpriseDB以及一定程度上的SQL   服务器支持事务内的DDL语句。其他数据库   例如Oracle会隐式地在每次提交之前和之后进行一次提交   DDL声明,大大降低了此功能的有效性   背部。如果要解决此问题,一种替代方法是包括   每次迁移仅一个DDL语句。但是这个解决方案有   麻烦的缺点。

如果迁移失败,这就是我们始终需要做的事情。

  

迁移失败后如何修复数据库?如果你的   数据库支持DDL事务,Flyway会为您完成工作。

     

如果您的数据库不存在,请执行以下步骤:

     

手动撤消迁移的更改调用修复命令   解决失败的迁移,然后重试

FYR: https://flywaydb.org/documentation/faq#repair

问题是:

  • Oracle在事务内部不支持DDL语句是什么意思?

  • DDL是指创建表,修改表等吗?

  • 有没有解决方案,直到所有语句都不要提交更改 脚本内部是否成功执行?

感谢您的帮助。谢谢。

0 个答案:

没有答案