我试图使用Liquibase 1.9.5将一些数据加载到HSQLDB数据库中。我有一个loadData
命令如下:Liquibase数据加载到HSQLDB的序列
<loadData tableName="LIST_ITEM_TYPE" file="data/global/list_item_type.csv">
<column name="ID" type="NUMERIC" />
<column name="NAME" type="STRING" />
<column name="DESCRIPTION" type="STRING" />
</loadData>
在我的CSV数据文件我试图从现有的序列设置的ID值到下一个值:
id,name,description
next value for SEQ_ITEM_TYPE_ID,Test Name,A test description
然而,这并未”因为它会产生下面的SQL将不起作用:
INSERT INTO LIST_ITEM_TYPE (id, description, name) VALUES ('next value for SEQ_ITEM_TYPE_ID', 'A test description', 'Test Name')
这是几乎正确的,除了单引号是Liquibase广告围绕next value for SEQ_ITEM_TYPE_ID
原因HSQLDB DED给以下错误:
java.sql.SQLException: data exception: invalid character value for cast
如果我删除sinqle报价和手动运行该SQL,它按预期工作。
所以,我的问题是,如何使用Liquibase loadData
命令从CSV文件中提取数据,同时填充序列中的某一列?
哦,是的,我们正在使用HSQLDB 2.0,如果它很重要的话。 – Andre 2011-01-19 22:06:56