当前位置: 首页 > 知识库问答 >
问题:

在AWS RDS Mysql 5.6上进行几次迁移后悬挂的Flyway

潘嘉颖
2023-03-14

我似乎搞不懂这个...到目前为止,我们在AWS上使用带有Percona XtraDB集群5.6的Flyway,但是由于RDS提供了更好的性能并且可以配置为高可用性,我们想要切换(我们团队没有mysql组件)。

人们会认为,一旦RDS启动并运行,就应该能够简单地将flyway指向新服务器并进行设置...那就错了!

5个迁移脚本flyway停止后。。。尝试查询DB实际上不起作用,因此假设某种锁定出现了问题。

Flyway-X告诉我:

将模式通用迁移到1.1版

调试:在第1行找到语句:ALTER TABLE use。。。

调试:在第2行找到语句:ALTER TABLE use。。。

调试:执行SQL:ALTER TABLE use...

调试:执行SQL:ALTER TABLE use...

调试:成功完成并提交了架构到版本1.1的迁移

调试:元数据表公共<代码>schema\u版本已成功更新以反映更改

调试:锁定表公共<代码>schema\u版本。。。

调试:为表公用获取锁<代码>schema\u版本

正在将架构公共迁移到1.2版

调试:在第1行找到语句:ALTER TABLE use。。。

调试:执行SQL:ALTER TABLE use…)

DEBUG:成功完成并提交了模式Common到1.2版的迁移

调试:元数据表公共<代码>schema\u版本已成功更新以反映更改

调试:锁定表公共<代码>schema\u版本。。。

调试:为表公用获取锁<代码>schema\u版本

正在将架构公共迁移到1.3版

调试:在第2行找到语句:CREATE TABLE rou...

调试:执行SQL:创建表rou。。。

DEBUG:成功完成并提交了模式Common到1.3版的迁移

调试:元数据表公共<代码>schema\u版本已成功更新以反映更改

调试:锁定表公共<代码>schema\u版本。。。

调试:为表公用获取锁<代码>schema\u版本

将模式通用迁移到1.4版

调试:在第1行找到语句:ALTER TABLE use。。。

调试:执行SQL:ALTER TABLE use...

DEBUG:成功完成并提交了模式Common到1.4版的迁移

调试:元数据表公共<代码>schema\u版本已成功更新以反映更改

调试:锁定表公共<代码>schema\u版本。。。

(从此处永远悬挂)

还有很多脚本(10个)没有执行。关闭flyway并重新启动它将使其挂起连接到DB。解决此问题的唯一方法是删除模式,重新创建模式,然后重试flyway迁移。它总是挂在同一个地方。这也不是脚本中的内容,因为我尝试用另一个脚本替换第四个和第五个脚本。当SQL命令从MySQL Workbench运行时,它们只在Percona和RDS上工作。

共有1个答案

田嘉慕
2023-03-14

是AWS RDS问题,不是Flyway问题:https://github.com/flyway/flyway/issues/772

 类似资料:
  • 问题内容: 我在夹层中使用Django1.7。我创建了简单的配置文件(根据Mezzanine文档),存储在单独的应用程序“配置文件”中: 创建迁移会返回: 当我运行“迁移配置文件”时: 问题是,当我尝试打开与mezzanine.accounts相关的任何页面(例如更新帐户)时,它崩溃并显示: 我做错了什么? 问题答案: 在MySQL数据库中,从表中删除行。 删除迁移文件夹中的所有迁移文件。 重试并

  • (至少我可以只用名字,跳过时间戳……) 有更简单的方法吗?

  • 我正在做一个项目,我们使用flyway来升级我们的DB模式。 我正在通过插件使用。 多谢

  • 编辑:我可以从flyway命令行工具运行相同的配置,但不能从ant任务运行。 我有一个flyway配置,可以在我的oracle数据库上运行。我正在SQL Server数据库上设置flyway。当我尝试任何蚂蚁任务时,Flyway会挂起。包括用于测试与数据库连接的信息。 当我运行Flyway时,它似乎挂起来了。当执行任何ant任务时,详细日志将以“[flyway:info]DDL Transacti

  • 问题内容: 我了解到使用Java进行flywaydb迁移可与JDBC连接一起使用,并且还可以通过SpringTemplate进行spring支持,但是flyway不适用于DAO。 对于具有更多关系的表/实体,使用DAO而不是sql进行迁移使工作变得更加容易。 是否有解决方案或解决方法来解决此问题? 问题答案: 首先,Flyway拥有自己的事务管理系统,并且不使用Spring事务处理。 如果您的DA

  • 我正在尝试使用Flyway运行数据库迁移脚本。我有两个SQL脚本和一个Java脚本正在尝试运行。当我跑步的时候/gradlew flywayMigrate或gradle flywayMigrate它只接受SQL脚本,而不接受Java脚本 我的项目设置如下: database_migrations 我尝试了多种解决方案来让java脚本运行,例如指定,但这只会导致此输出。我尝试过将其移动到其他包。我尝