2
我正在開發Spring/Hibernate/MySql應用程序。該應用程序還沒有生產,我目前使用Hibernate的hbm2ddl功能,這是非常方便的管理域的變化。我還打算使用Flyway進行數據庫遷移。使用Flyway和Hibernate的hbm2ddl在應用程序的生命週期中管理數據庫模式
在未來的某個時刻,應用程序將被投入生產的第一次,這導致我的第一組問題:
- 什麼是用於創建模式的最佳實踐(第一次該應用程序已發佈到產品中)?特別是,我應該讓Hibernate的hbm2ddl在生產數據庫上創建模式還是讓Flyway使用SQL腳本創建第一個模式?如果第二個選項(即Flyway)更可取,那麼我應該從hbm2ddl創建的數據庫中生成SQL腳本嗎?
然後讓我們假設我的應用程序的第一個版本在生產環境中運行,並且打算使用Hibernate的hbm2ddl在第二個應用程序版本上繼續開發。
- 我會如何管理更改域,尤其是對於計算釋放到生產兩個版本中遷移數據庫中的一個版本和數據庫架構兩個版本之間的區別?