运行混合SQL和Java迁移时出错 - 在第1行执行语句时出错:包db.migration

时间:2013-05-21 19:51:09

标签: flyway

我试图通过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;

关于我做错了什么的想法?

1 个答案:

答案 0 :(得分:1)

好的,我终于弄清楚发生了什么。虽然Flyway允许包含“。”的版本号。在名称中(例如V1.0.0000_ filename),显然Java迁移类名称不支持它。我将类名更改为使用“”而不是“。” (V1_0_1000_filename),这让我超越了原始错误。