我似乎无法解决这个问题......到目前为止,我们在AWS上使用带有Percona XtraDB Cluster 5.6的Flyway,但由于RDS提供了更好的性能并且可以配置为高度可用,我们希望切换(我们的团队没有mysql的能力)。
有人会认为一旦RDS启动并运行,人们应该能够简单地将飞路指向新服务器并进行设置......一个人就错了!
5个迁移脚本之后,flyway停止...尝试查询数据库并没有真正起作用,所以假设某种锁定出错了。
Flyway -X告诉我:
将架构
common
迁移到版本1.1DEBUG:在第1行找到声明:ALTER TABLE使用...
DEBUG:在第2行发现声明:ALTER TABLE使用...
DEBUG:执行SQL:ALTER TABLE use ...
DEBUG:执行SQL:ALTER TABLE use ...
DEBUG:已成功完成并提交架构
common
到版本1.1的迁移DEBUG:MetaData表
common
。schema_version
已成功更新以反映更改DEBUG:锁定表
common
。schema_version
...DEBUG:为表
common
获取锁定。schema_version
将架构
common
迁移到版本1.2DEBUG:在第1行找到声明:ALTER TABLE使用...
DEBUG:执行SQL:ALTER TABLE use ...)
DEBUG:已成功完成并提交将架构
common
迁移到版本1.2DEBUG:MetaData表
common
。schema_version
已成功更新以反映更改DEBUG:锁定表
common
。schema_version
...DEBUG:为表
common
获取锁定。schema_version
将架构
common
迁移到版本1.3DEBUG:第2行的Found语句:CREATE TABLE rou ...
DEBUG:执行SQL:CREATE TABLE rou ...
DEBUG:已成功完成并提交将架构
common
迁移到版本1.3DEBUG:MetaData表
common
。schema_version
已成功更新以反映更改DEBUG:锁定表
common
。schema_version
...DEBUG:为表
common
获取锁定。schema_version
将架构
common
迁移到版本1.4DEBUG:在第1行找到声明:ALTER TABLE使用...
DEBUG:执行SQL:ALTER TABLE use ...
DEBUG:已成功完成并提交了架构
common
到版本1.4的迁移DEBUG:MetaData表
common
。schema_version
已成功更新以反映更改DEBUG:锁定表
common
。schema_version
...(永远挂在这里)
还有很多脚本(10+)未执行。杀死飞路并重新启动它将使其在连接到数据库时挂起。解决此问题的唯一方法是删除架构,重新创建架构,然后重试flyway migrate。它将始终挂在完全相同的位置。它也不是脚本中的东西,因为我尝试用另一个脚本替换第四个和第五个脚本。 当从MySQL Workbench运行SQL命令时,它们只能在Percona和RDS上运行。