簡體   English   中英

Spring Boot schema.sql不適用於mysqldump文件

[英]Spring boot schema.sql not working with mysqldump file

每次啟動集成測試時,Spring Boot都會自動啟動並運行我的schema.sql文件。

問題是:
它給我一個錯誤

無法刪除或更新父行:外鍵約束失敗。

我能夠使用mysql命令導入該文件而不會出現問題,因此我懷疑Spring Boot沒有使用mysql命令來運行腳本。
schema.sqlmysqldump創建。 沒有任何修改。
在執行以下“解決方法”后,它可以工作:
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM