Как построить набор данных DBUnit / что угодно, чтобы вставить / очистить таблицу с древовидными данными - PullRequest
2 голосов
/ 13 марта 2011

У меня очень простая таблица (id, name, parent), которая представляет дерево. Я хочу использовать dbunit при тестировании этой таблицы, поэтому я создал простой набор данных для 2 узлов (yaml вместо xml для удобства чтения):

node:
  - id: 1
    name: default
    parent: null
  - id: 2
    name: default-child
    parent: 1

Это вставляется правильно, но при попытке очистить таблицу (я использую DatabaseOperation.CLEAN_INSERT) это вызывает нарушение ограничения:

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: невозможно удалить или обновить родительскую строку: ограничение внешнего ключа не выполнено (узел, CONSTRAINT FK_NODE.PARENT_TO_NODE.ID FOREIGN KEY (родительский) REFERENCES *

1 Ответ

2 голосов
/ 14 марта 2011

я нашел обходной путь: использование операции truncate_table вместо аккуратной очистки работает для меня на mysql

...