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

如何运行飞行路线:在克隆的数据库上迁移

霍伟彦
2023-03-14

我们有一个生产数据库,我们使用flyway来维护它。最近我们克隆了我们的生产数据库来创建一个UAT数据库。UAT数据库具有与生产中相同的模式和数据。现在我们尝试在UAT数据库上运行“mvn flyway: iri ate”来测试新的flyway脚本。然而,我们得到了

+---------+-----------------------+---------------------+---------+
| Version | Description           | Installed on        | State   |
+---------+-----------------------+---------------------+---------+
| 0.0.1   | script.1              |                     | <Baseln |
| 0.0.2   | script.2              |                     | <Baseln |
| 0.0.3   | script.3              |                     | <Baseln |
| 0.1.1   | script.4              |                     | <Baseln |
| 0.1.2   | script.5              |                     | <Baseln |
| 0.2.0   | script.6              |                     | <Baseln |
| 0.5.1   | script.7              |                     | <Baseln |
| 0.5.2   | script.8              |                     | <Baseln |
| 0.6.0   | script.9              |                     | <Baseln |
| 0.7.0   | script.10             |                     | <Baseln |
| 0.8.0   | script.11             |                     | <Baseln |
| 0.9.0   | script.12             |                     | <Baseln |
| 0.10.0  | script.13             |                     | <Baseln |
| 0.11.1  | script.14             |                     | <Baseln |
| 0.12.0  | script.15             |                     | <Baseln |
| 0.13.0  | script.16             |                     | <Baseln |
| 0.14.0  | script.17             |                     | <Baseln |
| 0.15.0  | script.18             |                     | <Baseln |
| 0.16.0  | script.19             |                     | <Baseln |
| 0.16.1  | script.20             |                     | <Baseln |
| 0.17.0  | script.21             |                     | <Baseln |
| 0.17.1  | script.22             |                     | <Baseln |
| 0.18.0  | script.23             |                     | <Baseln |
| 1       | << Flyway Baseline >> | 2016-11-07 08:11:33 | Baselin |
| 1.16.0  | script.19             | 2017-02-15 10:03:18 | Future  |
| 1.16.1  | script.20             | 2017-02-15 10:03:18 | Future  |
+---------+-----------------------+---------------------+---------+

脚本。23是一个新脚本。我们预计该州正在等待。然而,所有脚本的状态都变成了Baseln。我搜索了一天的相关主题,但找不到与我的案例相关的场景。flyway(maven)上是否有任何配置可以用于在克隆数据库上运行migrate命令?请帮忙。(我的数据库是SQL Server 2014,flyway版本4.0,maven版本3.5,JDK版本1.7)

谢谢。芝罘

共有1个答案

叶鹭洋
2023-03-14

我认为所有低于基线的版本都不会执行 - 它们应该属于基线。

如果script.23是一个新的迁移,它的版本应该高于上一个版本,通常为1.18.0(根据标准flyway配置,V1_18_0__script.23.sql,而不是V0_18_0__script.23.sql)。

重命名此文件后,请在再次尝试迁移之前进行修复。

 类似资料:
  • 我希望Flyway在我向服务器部署新战争时运行。 部署服务器时,飞行路线会自动运行吗?我是否必须始终自动执行脚本,然后执行飞行路线迁移命令?或者最好的方法是什么? 服务器: 该服务器是一个运行在Elastic Beanstalk (AWS)上的Java Tomcat服务器,它连接到一个MySQL数据库。 部署流程 我们在数据库上手动运行sql迁移脚本。然后我们上传一个服务器的新war到Elasti

  • 我们使用Liquibase,现在在新项目中,我们必须使用Flyway。在liquibase中,迁移顺序在xml文件中,所以您可以指定什么是第一次迁移,什么是第二次迁移,它不依赖于名称。 所以,当一些开发人员添加新的迁移时,如果之前有人推动了新的迁移,那么他将在Git中遇到冲突,并且必须修复顺序。 这是如何在Flyway中实现的?如果并行添加迁移,如何控制顺序?

  • flyway可以在迁移之前对数据库进行验证检查吗? 场景1 例如:我试图在现有的数据库上执行flyway。我已经在db_users表中插入了一些用户。 但是我的sql脚本有db_users表的create语句和所有用户的插入语句,包括那些已经插入的用户。 我可以在创建表之前做IFNOT_EXISTS检查,但很难在每次插入之前做检查。 情景2 我已经在数据库中迁移了脚本V1、V2和V3。我修改了脚本

  • 在类路径中:/db。迁移有迁移但flyway没有看到这一点,而是爱上了msg 2022-05-02 17:28:07.993INFO 45296 --- [ restartedMain]c. c. c. ConfigServiceProperty tySourceLocator:从服务器获取配置,地址为:http://localhost:8888/story2022-05-02 17:28:08.

  • 我为命令行java迁移执行了以下步骤: < li >创建java文件 当我执行迁移逗号时,它会像 警告:无法解析位置类路径:db/迁移 请查看下面的附件图片,它实际上是罐子。我已经提取了更多信息。

  • Windows 首先,在之前克隆的数据库目录里的sample.txt 添加以下黑体字,并提交。 连猴子都懂的Git命令add 把变更录入到索引中 用tutorial2进行的操作 我们可以看到本地数据库分支的历史记录已更新,并位于远程数据库分支的前面。 用tutorial2进行的操作 接着,让我们推送新提交到远程数据库。请右击目录"tutorial2"并选择“推送”。 用tutorial2进行的操作