我试图通过Maven基于Axel Fontaine的示例运行SQL和Java迁移的混合:http://www.methodsandtools.com/tools/flyway.php
基本上我正在尝试执行多次SQL迁移,然后执行java迁移(将BLOBS加载到表中),然后再执行另一次SQL迁移。
第一组SQL迁移运行正常。如果我为Java迁移指定.java的文件扩展名,则会被忽略。如果我为Java迁移指定了.sql的文件扩展名,它将以正确的顺序运行,但是我收到以下错误:
[错误] com.googlecode.flyway.core.api.FlywayException:错误 执行第1行的语句:package db.migration [ERROR]引起的 org.postgresql.util.PSQLException:错误:语法错误在或附近 “包”位置:1 [错误] com.googlecode.flyway.core.api.FlywayException:模式的迁移 “测试”到版本1.0.0106失败了!更改成功回滚。
以下是我的Java迁移文件的负责人:
package db.migration;
import com.googlecode.flyway.core.api.migration.jdbc.JdbcMigration;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.io.File;
关于我做错了什么的想法?
答案 0 :(得分:1)
好的,我终于弄清楚发生了什么。虽然Flyway允许包含“。”的版本号。在名称中(例如V1.0.0000_ filename),显然Java迁移类名称不支持它。我将类名更改为使用“”而不是“。” (V1_0_1000_filename),这让我超越了原始错误。