Liquibase CSV导入错误

时间:2016-03-22 23:46:57

标签: java database csv import liquibase

我想在Liquibase中导入初始数据,创建CSV,在文档中添加所有内容,但它没有用。问题是,Liquibase为UUID值添加了大量的[*],并且查询失败

flashcards.csv

id,question,answer,deckId
6ab90e8c-3f28-46b2-81f3-b668f6908c09, testQuestion1, testAnswer1, c6c4d451-65dd-4ac0-9e53-974397c7bea7
a2670d1a-b8fe-4884-ba49-24f5d9458a12, testQuestion2, testAnswer2, c6c4d451-65dd-4ac0-9e53-974397c7bea7
3d55ce90-e2c6-4c0e-b94d-879f1194356c, testQuestion3, testAnswer3, c6c4d451-65dd-4ac0-9e53-974397c7bea7
3a581ad7-ac65-4a49-9697-9d111b3635a7, testQuestion4, testAnswer4, 3809da97-3fe2-4f13-bbc8-1442ea62d719
fc6583eb-99be-4f39-8de6-47fff909431e, testQuestion5, testAnswer5, 3809da97-3fe2-4f13-bbc8-1442ea62d719

migrations.xml

<loadData tableName="flashcards" file="initialData/flashcards.csv">
            <column name="id" type="COMPUTED" />
            <column name="question" type="STRING" />
            <column name="answer" type="STRING" />
            <column name="deckId" type="COMPUTED" />
</loadData>

数据库中的id和deckId设置为UUID类型,表成功。

这是一条错误消息:

  

SQL语句中的语法错误“INSERT INTO PUBLIC.FLASHCARDS(ID,   问题,答案,DECKID)价值观   (6AB90E8C [*] - 3F28-46B2-81F3-B668F6908C09,'testQuestion1','   testAnswer1',C6C4D451-65DD-4AC0-9E53-974397C7BEA7)“;

     

预期“[,::,*,/,%,+, - ,||,〜,!〜,NOT,LIKE,REGEXP,IS,IN,   BETWEEN,AND,OR ,,,)“;

     

SQL语句:INSERT INTO PUBLIC.flashcards(id,question,answer,   deckId)VALUES(6ab90e8c-3f28-46b2-81f3-b668f6908c09,'   testQuestion1','testAnswer1',c6c4d451-65dd-4ac0-9e53-974397c7bea7)   [42001-190] [失败的SQL:

     

INSERT INTO PUBLIC.flashcards(id,question,answer,deckId)VALUES   (6,考试问题1,'   testAnswer1',c6c4d451-65dd-4ac0-9e53-974397c7bea7)]

     

liquibase.exception.DatabaseException:SQL语句中的语法错误   “插入PUBLIC.FLASHCARDS(ID,QUESTION,ANSWER,DECKID)价值观   (6AB90E8C [*] - 3F28-46B2-81F3-B668F6908C09,'testQuestion1','   testAnswer1',C6C4D451-65DD-4AC0-9E53-974397C7BEA7)“;

     

预期“[,::,*,/,%,+, - ,||,〜,!〜,NOT,LIKE,REGEXP,IS,IN,   BETWEEN,AND,OR ,,,)“;

     

SQL语句:INSERT INTO PUBLIC.flashcards(id,question,answer,   deckId)VALUES(6ab90e8c-3f28-46b2-81f3-b668f6908c09,'   testQuestion1','testAnswer1',c6c4d451-65dd-4ac0-9e53-974397c7bea7)   [42001-190]

     

[失败的SQL:INSERT INTO PUBLIC.flashcards(id,question,answer,   deckId)VALUES(6ab90e8c-3f28-46b2-81f3-b668f6908c09,'   testQuestion1','testAnswer1',   c6c4d451-65dd-4ac0-9e53-974397c7bea7)]

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

我认为错误在于你的migrations.xml中,你将id和deckId列的类型赋予computed,它们应该是String。