Java 多次执行flyway迁移步骤

Java 多次执行flyway迁移步骤,java,flyway,dbmigrate,Java,Flyway,Dbmigrate,我有一个非常复杂的迁移要执行。SQL是做不到的,我必须使用Java。我已经单独处理了每一行,不可能进行大量更新。让事情变得更复杂:我的一个客户在表中有几十亿行,其他客户只有几百行。如果我尝试迁移大型数据库表,肯定会遇到内存问题。在某个时刻,事务内存耗尽 我需要的是分块迁移并多次调用迁移步骤。理想情况下,我的jdbcmigation实现可以向flyway系统返回类似“我还没有完成,请再打电话给我”或“我已经完成,您可以继续下一个迁移步骤”的信息。如果我有这个功能,我会处理100万个条目,让flyw

我有一个非常复杂的迁移要执行。SQL是做不到的,我必须使用Java。我已经单独处理了每一行,不可能进行大量更新。让事情变得更复杂:我的一个客户在表中有几十亿行,其他客户只有几百行。如果我尝试迁移大型数据库表,肯定会遇到内存问题。在某个时刻,事务内存耗尽

我需要的是分块迁移并多次调用迁移步骤。理想情况下,我的
jdbcmigation
实现可以向flyway系统返回类似“我还没有完成,请再打电话给我”或“我已经完成,您可以继续下一个迁移步骤”的信息。如果我有这个功能,我会处理100万个条目,让flyway提交事务。我会重复这一点,只要有未经处理的条目

不幸的是,
jdbcmigation
的方法
migrate(Connection)
有一个无效的返回类型。有没有办法给flyway这样的回应

亲切问候,,
Christian

在这一点上没有直接的支持。但是,您可以在JdbcMigration中发布提交,但请记住,由Flyway在发生错误时发布的回滚将不再具有相同的效果