![](/img/trans.png)
[英]spring.jpa.hibernate.ddl-auto=update not working in spring boot
[英]"spring.jpa.hibernate.ddl-auto" property is used for migration?
我不確定這個問題,因為我不完全熟悉遷移的概念。 我剛剛知道這用於更新數據庫而無需從數據庫控制台手動刪除表。 既然我已經知道了,我是這么想的,如果我把這個屬性設置為“create-drop”,我就可以實現遷移。 我對么? 任何人都可以向我解釋或建議任何參考嗎?
對於記錄,spring.jpa.hibernate.ddl-auto屬性是881821203188數據JPA特定方式,並將其指定為881881881881881818181818181818181818181818181818181818.1818181818181818 y.and。
值create 、 create-drop 、 validate和update主要影響模式工具管理在啟動時如何操作數據庫模式。
例如,更新操作將查詢 JDBC 驅動程序的 API 以獲取數據庫元數據,然后 Hibernate 比較它基於讀取注釋類或 HBM XML 創建的 object model 並嘗試調整模式。
例如,更新操作將嘗試添加新的列、約束等,但永遠不會刪除以前可能存在但不再作為 object model 的一部分從先前運行中刪除的列或約束。
通常在測試用例場景中,你可能會使用create-drop來創建你的模式,你的測試用例添加一些模擬數據,你運行你的測試,然后在測試用例清理期間,模式對象被刪除,留下一個空數據庫。
在開發中,經常會看到開發人員使用update來自動修改模式以在重啟時添加新內容。 但請再次理解,這不會刪除不再需要的先前執行中可能存在的列或約束。
在生產中,通常強烈建議您不使用或干脆不指定此屬性。 這是因為 DBA 的常見做法是檢查數據庫更改的遷移腳本,尤其是當您的數據庫在多個服務和應用程序之間共享時。
“spring.jpa.hibernate.ddl-auto”
配置屬性的可能值如下:
這些是需要知道的一些基本的東西,
驗證:驗證模式,不對數據庫進行任何更改。 更新:更新模式。 創建:創建模式,銷毀以前的數據。 create-drop:當顯式關閉 SessionFactory 時刪除架構,通常是在應用程序停止時。 none:不對模式做任何事情,不對數據庫進行任何更改
這些選項似乎旨在成為開發人員工具,而不是為了促進任何生產級數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.