2014-03-27 74 views
1

有沒有什麼辦法可以在休眠中重新創建架構? create財產hbm2ddl創建新表,update屬性更新架構。但我想放棄第一個現有數據庫並重新創建它。我需要這樣做是因爲hibernate的問題,即當我們改變列的類型時,它會創建新的列而不是改變現有的列。因此,作爲解決方案,我必須手動刪除模式,然後部署我的應用程序。我可以這樣做,從應用程序本身刪除並重新創建進程,因爲它在liquibase中?刪除現有的數據庫並在休眠中重新創建架構

+1

爲什麼'創造'不適合你?對我來說,它會刪除所有表格,然後創建新的表格。你的行爲有什麼不同? –

+0

@DavidWallace,它也適用於我,我只是試過。但是,您能否將此作爲答案發布,以便我可以選擇它作爲正確答案? –

回答

1

使用create作爲值hbm2ddl。這將刪除舊錶以及創建新表。

+0

與我想要的相同,這將刪除現有模式並創建新模式。一旦完成,我們可以在下次部署時將屬性更改回'update'。 –

0
<property name="hbm2ddl.auto">update</property> 

刪除舊的模式。運行服務器/程序,它會再次爲您創建所有模式。

+1

這將創建模式,但只有當它不存在,所以我將不得不從數據庫服務器手動刪除架構,而我想從我的應用程序本身刪除。 '創造'的作品。 –