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

基于状态/基线迁移脚本迁移后FlyWay迁移错误

吕飞翼
2023-03-14

我用试用密钥尝试了State/BaselineMigration功能。https://flywaydb.org/documentation/concepts/baselinemigrationsFlyWay迁移执行脚本并正确移动到正确的版本。但在此基础上运行的所有迁移都失败了

从S开始2__xxx.sql然后它在版本2的模式表中创建一行并键入"SQL_STATE_SCRIPT"

再次执行flyway迁移时,无论是否使用更多脚本,例如V3_uxxx。sql它总是产生错误

线程“main”组织中出现异常。flywaydb。果心应用程序编程接口。例外FlywayValidateException:验证失败:迁移验证失败检测到应用的迁移未在本地解决:2。如果有意删除此迁移,请运行“修复”以将迁移标记为已删除。验证规则需要更大的灵活性吗?了解更多信息:https://rd.gt/3AbJUZE

设置忽略缺少的标志或模式也没有帮助。只有当存在带有V2_xxx的文件时,修复才会解决。sql

我用java尝试了7. x和8. x版本,用命令行尝试了8. x版本。似乎都有这个问题。

有没有办法解决这个问题,或者我违反了预期用途?

我的意图是我们有很多版本的脚本,比如说10。当要执行新的安装时,使用S10____;而不是多个版本,但我们应该能够在ci/cd管道中迁移未来版本的脚本。这个问题是办不到的

编辑-这是固定的8.0.0版本

共有1个答案

江华容
2023-03-14

我们认为这是一个bug,下一个v8测试版将有一个补丁。

 类似资料:
  • 我正在flyway的CMD中运行命令,但脚本文件的迁移会出现以下异常 [错误]无法执行目标组织。flywaydb:flyway maven插件:3.2.1:在convertopia auto db:org项目上迁移(默认cli)。flywaydb。果心应用程序编程接口。FlywayException:验证失败。迁移1.0.53的迁移描述不匹配[错误]- 我尝试过,它说构建成功,但问题仍然没有解决。

  • 我当前的项目有几个Flyway迁移,用于将初始数据导入数据库。这个数据是方便的,特别是对于开发人员能够快速设置项目。生产数据通过一些批处理作业导入,具有较新的版本。 其中有些迁移相当大(~20MB),因此每次应用程序启动时,Flyway都要花费一些时间来计算迁移的校验和。这也是集成测试的一个问题,因为它们也需要更长的时间。 null 我还有什么其他选择?如果可能的话,我希望使用Flyway而不是手

  • Phinx 使用迁移脚本来管理数据库。 每个迁移脚本都是一个 PHP 类。首选使用 Phinx API 来写迁移脚本,但是纯 SQL 语句也是支持的。

  • 我正在使用flyway命令行工具来处理我的db迁移。到目前为止,所有迁移都是sql 配置文件(仅用于选项): 那很好用。 但是现在我需要添加一个基于java的迁移。我真的很困惑,我找不到任何如何做的例子。如何编译,在哪里放java迁移。 我尝试了简单的迁移类从官方留档: 但是接下来怎么办?尝试编译: 然后把罐子放在不同的地方,没有效果。 flyway信息-看不到迁移。 因此,如何构建最简单的基于j

  • 我们面临一个问题:假设一个开发人员在处理分支a的过程中提供了一个新的迁移版本,比如说V331,同时一个QA人员在另一个分支B的QA环境中进行QA。可能会出现qa环境已经有v331版本的情况,因为几个开发人员可能会在不同的时间在不同的分支上创建相同的版本号……更多的是qa经常在分支之间切换,这就是qa数据库变得混乱的原因,特别是表schema_version,这导致我们手动删除损坏的模式版本,解决旧

  • 我想使用 Flyway 获取特定数据库的最新架构版本值。Flyway 中是否有函数可以在命令行中获取当前架构版本号? 我可以运行以下命令: 这为我提供了数据库的整个架构内容(缩短),如下所示: 我只对最后一个架构条目版本“1.5.9”值感兴趣。 我的环境如下: < li>Windows 7 < li>Flyway 3.0