如何运行flyway:在克隆的数据库上迁移

时间:2017-11-07 21:31:25

标签: clone flyway migrate

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

+---------+-----------------------+---------------------+---------+
| 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  |
+---------+-----------------------+---------------------+---------+

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

非常感谢。 志赋

1 个答案:

答案 0 :(得分:0)

我认为所有版本lower than the baseline are not executed - 它们应该属于基线。

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

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