Я пытаюсь загрузить некоторые данные в базу данных HSQLDB, используя Liquibase 1.9.5. У меня есть loadData
команда следующим образом:
<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,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 выдавать следующую ошибку:
java.sql.SQLException: data exception: invalid character value for cast
Если я удаляю кавычки sinqle и запускаю этот SQL вручную, он работает как положено.
Итак, мой вопрос: как мне использовать команду Liquibase loadData
, извлекающую данные из файла CSV при заполнении одного из столбцов из последовательности?