DBUnit настаивает на вставке нулевого значения для неопределенных значений, но я хочу использовать значение по умолчанию БД

Я имею эту проблему с DBUnit вызывая ошибку вставки SQL. Скажем, у меня есть это в моем файле dbunit testdata.xml:

<myschema.mytable id="1" value1="blah" value2="foo" />

У меня есть таблица, как это (postgres)

myschema.mytable имеет идентификатор, значение1, значение2 и поле даты, скажем "lastmodified". Последний измененный столбец - это отметка времени с модификаторами "not null default now()"

Похоже, что dbunit читает метаданные таблицы и пытается вставить пустые значения для любого столбца, который не указан в моем файле testdata.xml. Таким образом, приведенный выше xml приводит к вставке следующим образом:

insert into myschema.mytable (id,value1,value2,lastmodified) values (1,'blah','foo',null) 

При запуске тестов (плагин dbunit/maven) я получаю сообщение об ошибке:

Error executing database operation: REFRESH: org.postgresql.util.PSQLException: ERROR: null value in column "lastmodified" violates not-null constraint

Есть ли какой-нибудь способ указать DBUnit НЕ ВСТАВЛЯТЬ пустые значения в поля, которые я не указываю?

Изменить: Использование dbunit 2.5.3, junit 4.12, postgressql драйвер 9.4.1208

1 ответ

Используйте функцию dbUnit "исключить столбец": как исключить некоторые столбцы таблицы во время выполнения?

Другие вопросы по тегам