1
當我有一個文件號爲0的文件時,Flyway不會選擇它。當版本號爲0時,Flyway遷移不起作用
Maven的依賴性:
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>3.2.1</version>
</dependency>
Spring配置文件:
<bean id="flyway" class="org.flywaydb.core.Flyway" init-method="migrate">
<property name="dataSource" ref="dataSource" />
<property name="baselineOnMigrate" value="true" />
<property name="locations" value="classpath:/META-INF/db/" />
<property name="placeholders">
<map>
<entry key="username" value="" />
</map>
</property>
</bean>
文件中的類路徑:/ META-INF/DB/
- SQL/V0_1__INITIAL_BUILD.sql(創建一個表)
- sql/V1_3__from-0.1.sql(增加一列)
- SQL/V1_4__from-1.3.sql(添加索引表)
當我開始我的服務,我得到這個錯誤
java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
這是被插入到schema_version表:
COLUMN |ROW1 |ROW2 version_rank |1 |2 installed_rank |1 |2 version |1 |1.3 description |Flyway Baseline |from-0.12 type |BASELINE |SQL script |Flyway Baseline |sql/V1_3__from-0.1.sql checksum |-993203535 | installed_by |DBUSER2 |DBUSER2 installed_on |25-AUG-15 |25-AUG-15 execution_time |0 |120 success 1 |0
它看起來像它忽略了SQL/V0 _1__INITIAL_BUILD.sql文件實際上創建表並立即移動到sql/V1_3__from-0.1.sql並失敗。
命令行工具似乎沒有此問題。
是不是可以使用0作爲使用Spring的版本號還是我錯過了明顯的東西?