2015-06-30 35 views
0

爲了開發和部署我的WAR應用程序,我使用了drop-and-create功能。基本上擦除數據庫中的所有內容,然後根據my @ Entity-classes自動重新創建所有必要的表和字段。爲數據庫更新增強persistence.xml

很明顯,對於生產而言,drop-and-create的功能是沒有問題的。我將如何創建數據庫表和字段?

有關@實體類的好處是,由於OQL和使用EntityManager所有數據庫查詢都會生成,因此WAR應用程序會獨立於數據庫。如果我現在不得不手工創建查詢,然後讓應用程序執行它們,那麼我將不得不決定它們是哪種sql方言(即MySQL,Oracly,SQL Server,...)。有沒有辦法獨立創建表數據庫?有沒有辦法運行結構數據庫更新以及數據庫獨立運行(即從數據庫版本1到數據庫版本2)?像改變字段或表名稱,添加表格,刪除表格等?

+1

也許看看Liquibase – Qwerky

+0

發佈答案。謝謝@Querky – Socrates

回答

0

謝謝@Qwerky提及Liquibase。這絕對是一個解決方案,適合我的情況,因爲我不必擔心版本控制了。 Liquibase在幾分鐘內很容易理解和研究。

爲尋找數據庫版本/方案家電:

Liquibase