Java 迁移前将CSV文件导入H2

Java 迁移前将CSV文件导入H2,java,csv,h2,flyway,Java,Csv,H2,Flyway,我正在尝试使用Flyway迁移内存中的h2数据库。创建表的工作方式与传统方式很好,但我也希望使用h2的导入csv,如前所述。我在Flyway文档中找不到任何说明此操作无效的内容。这是否得到支持 更新:这是我正在尝试迁移的V02\uu createTables.sql。该脚本位于db.migration.test中,Flyway知道该目录。csv文件an_products.csv也在该文件夹中,因此下面h2的CSVREAD方法引用了该文件 CREATE TABLE an_products (

我正在尝试使用Flyway迁移内存中的h2数据库。创建表的工作方式与传统方式很好,但我也希望使用h2的导入csv,如前所述。我在Flyway文档中找不到任何说明此操作无效的内容。这是否得到支持

更新:这是我正在尝试迁移的V02\uu createTables.sql。该脚本位于db.migration.test中,Flyway知道该目录。csv文件an_products.csv也在该文件夹中,因此下面h2的CSVREAD方法引用了该文件

CREATE TABLE an_products (
  id int(10) PRIMARY KEY NOT NULL,
  name varchar(100) NOT NULL DEFAULT '',
  price double NOT NULL DEFAULT '0.00',
  taxable tinyint(4) NOT NULL DEFAULT '0',
  notes varchar(255) DEFAULT NULL,
  isPercent tinyint(3) NOT NULL DEFAULT '0',
  min double DEFAULT NULL,
  period char(1) NOT NULL DEFAULT '',
  qty int(10) NOT NULL DEFAULT '0',
  cost double NOT NULL DEFAULT '0.00'
) AS SELECT * FROM CSVREAD('an_products.csv');

没有明确的支持,也没有限制。Flyway将通过JDBC执行所有语句。因此,这是否有效取决于H2是否通过JDBC支持此语句。

首先,确保相对路径有效,可能FlyWay有不同的工作目录,可能只是将路径设置为绝对路径


或者使用调试器,告诉它在异常抛出时中断,这样,您就知道它发生在哪里。

我已经删除了无用的堆栈跟踪。我想我会提供它,以防我被要求提供stacktrace。我真的想知道flyway是否支持它。我引用了一个例子,它使用了我在失败的脚本中使用的语法。嘿,Axel,谢谢你的回答。问题是,有一个FlyWay异常被抛出。正如Jarrod所指出的,这不是一个非常有用的异常,只是迁移到版本02失败了。我将更新我的问题,以包括V02__createTables.sql,这是我正在尝试迁移的内容。