Dns 使用wildfly上的flyway AS(域模式)控件进行数据库迁移
在我的示例应用程序中,war文件中有5个SQL迁移脚本。 我正在将war文件部署到由两个服务器/实例组成的主服务器组上的wildfly 8.2中。 flyway.migrate在应用程序的@PostConstruct部署期间被调用。 观察到的问题是,迁移是在两个实例上并行启动的。观察到控制的变化: 例如: SQL脚本1由实例1应用 SQL脚本2由instance2应用 SQL脚本3由实例1应用 SQL脚本4由实例2应用 SQL脚本5由实例1应用 我希望有一个控件:例如在instance1上应用所有SQL脚本,并让instance2等待DB迁移完成 我能轻松做到这一点吗? 我是否需要一些锁,例如DB中的条目,它将阻止竞争条件Dns 使用wildfly上的flyway AS(域模式)控件进行数据库迁移,dns,wildfly,flyway,Dns,Wildfly,Flyway,在我的示例应用程序中,war文件中有5个SQL迁移脚本。 我正在将war文件部署到由两个服务器/实例组成的主服务器组上的wildfly 8.2中。 flyway.migrate在应用程序的@PostConstruct部署期间被调用。 观察到的问题是,迁移是在两个实例上并行启动的。观察到控制的变化: 例如: SQL脚本1由实例1应用 SQL脚本2由instance2应用 SQL脚本3由实例1应用 SQL脚本4由实例2应用 SQL脚本5由实例1应用 我希望有一个控件:例如在instance1上应用所
谢谢。
为什么当前行为有问题?我认为这是迁移成功的更高风险,尤其是在多个物理节点上部署WAR文件的情况下。我发现有一个潜在的问题,即每个正在迁移的实例都必须评估迁移状态,即已经应用了多少脚本。如果迁移将由单个实例控制,那么迁移可以由该实例一次性完成。在实践中,到目前为止,这两个实例都不是问题。。。