У меня есть простая таблица, определенная в liquibase следующим образом
<createTable tableName="dictionary_values">
<column autoIncrement="true" name="id" type="bigint">
<constraints primaryKey="true" primaryKeyName="dictionary_values_pk"/>
</column>
<column name="field_id" type="bigint">
<constraints nullable="true"/>
</column>
<column name="entry_id" type="bigint">
<constraints nullable="true"/>
</column>
<column name="value" type="varchar(255)">
<constraints nullable="false"/>
</column>
</createTable>
Затем я пытаюсь вставить некоторые записи в созданную базу данных с набором изменений, как показано ниже
<changeSet id="111111111" author="author">
<loadUpdateData
file="dict_values.csv"
primaryKey="id"
separator=";"
tableName="dictionary_values">
</loadUpdateData>
</changeSet>
Загруженный CSV выглядит так
entry_id;field_id;value
1;1;FIELD_1
1;2;FIELD_2
2;1;FIELD_1
2;2;FIELD_2
3;1;FIELD_1
3;2;FIELD_2
...
Эта конфигурация хорошо работает для мс sql дБ, но при запуске на h2 в нашем тесте интеграции она завершается с ошибкой: Column "ID" contains null values
. Я не очень понимаю, почему autoIncrement
работает для MS sql, но не для H2? Я пропустил некоторые дополнительные настройки? Или просто h2 не поддерживает эту функцию (для меня это маловероятно)?