我试图使用Flyway迁移内存中的h2数据库。创建表格的工作方式很好,但我还想使用h2的导入csv,如here所述。我无法在Flyway文档中找到任何可以说这不起作用的内容。这支持了吗?
更新:这是我尝试迁移的V02__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');
答案 0 :(得分:0)
没有明确的支持,也没有限制。 Flyway将通过JDBC执行所有语句。因此,这是否有效取决于H2是否通过JDBC支持此语句。
答案 1 :(得分:0)
首先,确保相对路径有效,也许FlyWay有一个不同的工作目录,也许只是让路径绝对。
或者使用调试器并告诉它在异常抛出时中断,这样,你知道它发生在哪里。