运行 Flyway 异步迁移
Run Flyway Migration Asynchronously
通过在事务中设计 flyway 迁移 运行,并且在应用程序启动期间相当早地同步。这通常是需要的,以确保在业务逻辑开始执行之前数据库处于一致状态(已迁移)或迁移失败并且应用程序崩溃。
在某些情况下,我真的希望能够启动应用程序而无需等待某些迁移完成(长时间的 运行ning 迁移、创建索引或物化视图等)。从 CI-Server 部署并使用部署超时/健康检查(不能无限期地提高)以确保部署按预期工作时,也可能需要这样做。
是否有启用异步迁移的任何配置/约定/最佳实践?
(即命名迁移 A2_00__UpdateSthLong.sql
而不是 V2(标准)或 R2(可重复迁移)。
似乎不可能(还):
github 上的请求存在问题:
https://github.com/flyway/flyway/issues/950
micronaut 的飞行路线,似乎已经支持这个:https://github.com/flyway/flyway/issues/950
集成支持之前的临时解决方案可能是使用 Java Migrations 并从 migrate
方法中自己生成一个异步任务。迁移当然不会是事务性的:(
另一种解决方案可能是在实际启动应用程序之前进行迁移(即通过使用 maven 任务)。
通过在事务中设计 flyway 迁移 运行,并且在应用程序启动期间相当早地同步。这通常是需要的,以确保在业务逻辑开始执行之前数据库处于一致状态(已迁移)或迁移失败并且应用程序崩溃。
在某些情况下,我真的希望能够启动应用程序而无需等待某些迁移完成(长时间的 运行ning 迁移、创建索引或物化视图等)。从 CI-Server 部署并使用部署超时/健康检查(不能无限期地提高)以确保部署按预期工作时,也可能需要这样做。
是否有启用异步迁移的任何配置/约定/最佳实践?
(即命名迁移 A2_00__UpdateSthLong.sql
而不是 V2(标准)或 R2(可重复迁移)。
似乎不可能(还):
github 上的请求存在问题: https://github.com/flyway/flyway/issues/950
micronaut 的飞行路线,似乎已经支持这个:https://github.com/flyway/flyway/issues/950
集成支持之前的临时解决方案可能是使用 Java Migrations 并从
migrate
方法中自己生成一个异步任务。迁移当然不会是事务性的:(另一种解决方案可能是在实际启动应用程序之前进行迁移(即通过使用 maven 任务)。