2015-06-08 55 views
1

我正试图在我们的过程中推动flywaydb。在我们的环境中,每个客户都有自己的数据库实例。flywaydb baseline baselineVersion参数被忽略

我有一个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 | 
+---------+-----------------------+---------------------+---------+ 

,如果我在DB我看请参阅schema_version的版本值设置为1.

如果通过数据库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

谢谢,BTW中给出的命令文件。 @ http://flywaydb.org/documentation/existing.html --- flyway baseline -Dflyway.baselineVersion = 1 -Dflyway.baselineDescription =“基本版本”不起作用 – randy

+0

怎么样?你究竟是什么意思? –