我试图在我们的过程中推动flywaydb。在我们的env中,每个客户端都有自己的DB实例。
我有一个bash,它遍历客户端以运行迁移。所以命令看起来像
flyway -url=jdbc:jtds:sqlserver://localhost:1434/main_client_$ID migrate
当所有客户从基线开始时,这一切都有效。但是当我们添加新客户时,他们的数据库将反映最新的代码。现在我们有较旧的客户端使用V1(以及所有迁移脚本到V2)和使用最新DB V2的新客户端。
我以为我可以做类似:::
的事情flyway baseline -url=jdbc:jtds:sqlserver://localhost:1434/main_client_3
--baselineVersion=2 --baselineDescription="Base 2 version"
但是当我以这种方式这样做,然后调用信息我看到类似的东西:
+---------+-----------------------+---------------------+---------+
| Version | Description | Installed on | State |
+---------+-----------------------+---------------------+---------+
| 1 | << Flyway Baseline >> | 2015-06-08 22:07:54 | Success |
| 1.1 | update | | Pending |
| 1.2.0 | update | | Pending |
| 1.2.1 | update | | Pending |
+---------+-----------------------+---------------------+---------+
如果我查看数据库,我会看到schema_version的版本值设置为1。
如果通过DB i强制schema_version列值为1.2.0,请参阅
+---------+-----------------------+---------------------+---------+
| Version | Description | Installed on | State |
+---------+-----------------------+---------------------+---------+
| 1 | Base version initial | | <Baseln |
| 1.1 | update | | <Baseln |
| 1.2.0 | << Flyway Baseline >> | 2015-06-08 22:07:54 | Success |
| 1.2.1 | update | | Pending |
+---------+-----------------------+---------------------+---------+
这就是我想要的。 但我无法弄清楚如何通过基线命令设置值
感谢您的帮助
答案 0 :(得分:0)
所有参数都应该传入 - 不是 -