我們正在爲使用java和oracle 11g的客戶開發基於Web的解決方案。該項目是爲客戶安裝的,但其大部分功能正在開發中。每個月,我們都會發佈一個應該安裝在客戶現場的新版本。問題在於,在每個版本中,數據庫中有很多更改(表,視圖,SP,觸發器等)。我無法從開發線獲得轉儲,並將其轉移到客戶現場。如何生成從舊數據庫遷移到新數據庫的SQL腳本?
的問題是我怎麼能生成SQL腳本,可以在客戶數據庫的架構遷移到新的版本(開發版)?是否有任何自動生成此腳本的工具?有什麼可以做到這一點在Java中的開源代碼?這個問題的任何最佳實踐?
編輯
根據答案,似乎是最好的做法就是從DB計劃的直接變化禁止開發者,他們應該編寫和提交修改腳本,每個數據庫的更新。但是使用這種方法,過了一段時間後,會存在很多更改腳本,每個腳本都會在數據庫中進行特定的更新。那我如何管理這些大量的腳本呢?
我認爲工具存在,但我不知道任何名稱。但是,管理它的方式通常是使用VCS來保存SQL腳本的歷史記錄,這些腳本將在給定版本的軟件之間輕鬆管理修改。例如一個從頭開始構建數據庫的creation.sql腳本。另一個涉及修改。因此,當您第一次提交projet時,客戶端將使用creation.sql文件,否則將使用update-1.2.1.sql(例如:)希望這將有助於下次使用。問候。 – 2012-08-23 16:40:09