0

我正在將SQL數據庫(PostgreSQL)整合到我的第一個Java後端系統中。如何爲服務器端應用程序初始化SQL數據庫和表?

我的困境,現在是應該的應用程序本身創建數據庫和表,或者它應該只是假設,與表的初始化所需的數據庫可用?

如果應用程序不應該由自己管理數據庫,那麼什麼是再現開發商的機器(我希望能夠在本地運行與真正的數據庫集成測試)的數據庫的最佳方法?

+0

如果應用程序沒有創建/ init數據庫,那麼其他人將不得不這樣做。如果你讓你的應用程序擔心這一點,那麼你可以嘗試一致的行爲。 –

+1

查看[liquibase](http://www.liquibase.org/)或[FlyWay](https://flywaydb.org/) – Max

+0

通常,您不會讓應用程序管理數據庫。如果你決定改用psotgres,減少返工。最好簡單地爲其他人提供一個SQL腳本來運行。更好 - 給碼頭/流浪者的圖像。其他人甚至不用擔心安裝postgres。 – Vineet

回答

0

我最終在他的評論中建議使用FlyWay作爲@Max。

設置非常簡單直觀。我暫時使用了默認設置。

在開發機器上進行集成測試的設置非常輕鬆。

,我特別不喜歡的唯一的事情就是清理使用遷飛測試之間的數據庫是非常緩慢的,因爲它不只是清理表,但擦除整個方案。

然而,這是不是對我來說是一個大問題,現在(目前擁有約100個測試),並很可能不會是困難的,如果以後需要優化。

相關問題