2014-02-10 99 views
3

这是我的工作流程:迁飞以前迁移改变

Setup tables, constraints etc. in V1__CreateSchema.sql (checksum = 
c3a82bcf43b3c78a5ca4ebd25ca06005) 

运行迁徙路线迁徙 - >数据库被创建。

然后我意识到,架构需要更新:

Update sql statements in V1__CreateSchema.sql (checksum = 
    7e1aeb51d4e91b504cd920ec7af17092) 

运行迁徙路线迁徙 - >飞行用忽略了一个事实,即以前运行迁移的签名已经改变。

[INFO] --- flyway-maven-plugin:2.3:migrate (default-cli) @ zeus --- 
[INFO] Current version of schema `mydb`: 1 
[INFO] Schema `mydb` is up to date. No migration necessary. 

这是一个受支持的工作流程吗?我期望飞路失败,说明在过去的迁移路径中已经发生分叉现象。

回答

4

设置flyway.validateOnMigratetrue你应该很好去。

0

根据问题,它看起来像你使用flyway-maven-plugin。 Flyway Maven插件支持可用于飞桥执行的基本命令。

Here is the list of commands which are applicable to run with plugin. 

1. Migrate 
2. Validate 
3. Info 
4. Clean 
5. Baseline 
6. Repair 

Example: mvn flyway:command_name 

现在,让我们说,如果我们想确认当前classpath的架构是从以前的版本改变或没有,那么我们就可以通过执行以下命令

MVN迁徙路线进行验证:验证

除此之外,在您的flyway属性中配置或添加名为validateOnMigratetrue的属性。