Spring boot автоматически выбирает и запускает мой файл schema.sql при каждом запуске моего интеграционного теста.
Проблема:
Это выдает ошибку
Невозможно удалить или обновить родительскую строку: ограничение внешнего ключа не выполнено.
Я могу без проблем импортировать этот файл с помощью команды mysql
, поэтому я подозреваю, что Spring boot не использует команду mysql
для запуска сценария.
schema.sql создается mysqldump. Ничего не изменилось.
Это работает после того, как я сделал следующий "обходной путь":
1. Избавьтесь от конкретных ключевых слов / команд MySQL, таких как /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
2. переупорядочить блоки create table
так, чтобы таблицы создавались в правильном порядке, чтобы избежать ошибок ограничения внешнего ключа.
Вопрос: как сделать Spring загрузиться, чтобы импортировать мой файл schema.sql, как это делает mysql? Было бы хорошо, если бы я мог просто mysqldump
файл и использовать его для тестирования, вместо того, чтобы использовать некоторые"хакерские обходные пути".
Спасибо!