[英]Spring boot schema.sql not working with mysqldump file
每次啟動集成測試時,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
塊,以便按正確的順序create table
,以避免外鍵約束錯誤。
問 :如何使春季啟動匯入我schema.sql文件的文件,如MySQL呢? 如果我可以僅將文件mysqldump
並使用mysqldump
進行測試,而不是使用一些“ hacky解決方法”,那就太好了。
謝謝!
在.sql文件的開頭添加
SET FOREIGN_KEY_CHECKS=0;
最后
SET FOREIGN_KEY_CHECKS=1;
該命令禁用外鍵檢查並將其恢復。
轉儲僅插入表的所有內容行,但尚未插入相關表。
從轉儲中還原的MYSQL具有自動行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.