Liquibase başlangıç verilerini içe aktarmak istedim, CSV oluşturdum, her şeyi ekledim belgelere ekledim, ancak çalışmadı. Sorun Liquibase UUID değerleri için gizemli [*]
ekliyor ve sorgu Liquibase CSV içe aktarma hatası
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>
kimliği ve deckId
başarısız yani, veritabanında UUID türüne ayarlanmış, tablo başarılı. İşte bir hata mesajı var:SQL deyiminde "PUBLIC.FLASHCARDS (ID, SORU, CEVAP, DECKID) INSERT INTO içindedizimi hatası DEĞERLER (6AB90E8C [*] - 3F28-46B2-81F3- B668F6908C09, 'testQuestion1', ' testAnswer1', C6C4D451-65DD-4AC0-9E53-974397C7BEA7) ";
beklenen "[, ::, *, /,%, +, -, ||, ~,! ~, DEĞİL, GİBİ, REGEXP, IS, IN, ARASINDA, VE, VEYA, ,,)" ;
SQL deyimi: INSERT INTO PUBLIC.flashcards (id, soru, cevap, deckId) DEĞERLER (6ab90e8c-3f28-46b2-81f3-b668f6908c09, ' testQuestion1', 'testAnswer1', c6c4d451-65dd-4ac0-9e53 -974397c7bea7) [42001-190] [Başarısız SQL:
INSERT INTO PUBLIC.flashcards (id, soru, cevap, deckId), (6ab90e8c-3f28-46b2-81f3-b668f6908c09, 'testQuestion1' DEĞERLER ' testAnswer1 ', c6c4d451-65dd-4ac0-9e53-974397c7bea7)]
liquibase.exception.DatabaseException: SQL deyiminde sözdizimi hatası "PUBLIC.FLASHCARDS (İD, soru, cevap, DECKID) (6AB90E8C [*] değerlere INSERT - 3F28-46B2-81F3-B668F6908C09 'testQuestion1', ' testAnswer1', C6C4D451-65DD-4AC0-9E53-974397C7BEA7) ";
beklenen "[, ::, *, /,%, +, -, ||, ~,! ~, DEĞİL, GİBİ, REGEXP, IS, IN, ARASINDA, VE, VEYA, ,,)" ;
SQL deyimi: INSERT INTO PUBLIC.flashcards (id, soru, cevap, deckId) DEĞERLER (6ab90e8c-3f28-46b2-81f3-b668f6908c09, ' testQuestion1', 'testAnswer1', c6c4d451-65dd-4ac0-9e53 -974397c7bea7) [42001-190]
[Başarısız SQL: INSERT INTO PUBLIC.flashcards (id, soru, cevap, deckId) DEĞERLER (6ab90e8c-3f28-46b2-81f3-b668f6908c09, ' testQuestion1', ' testAnswer1' , c6c4d451-65dd-4ac0-9e53-974397c7bea7)]
Bu sorun nasıl çözülür?
'LoadData uuid türü desteklenmiyor.Lütfen BOOLEAN, NUMERIC, DATE, STRING, COMPUTED veya SKIP 'kullanın - Bu, alan türünü yapmaya çalıştığımda ortaya çıkan bir hata UUID – VanDavv
Böyle bir sorun olacak gibi görünüyor. Belki STRING kullanırsanız? – SteveDonie
STRING çalışmıyorsa, bu muhtemelen liquibase CSV içe aktarma koduna sabitlenmesi gereken bir şey olacaktır. – SteveDonie