2009-10-07 35 views
0

RPM似乎在檢查依賴關係和處理單個文件更新方面相當不錯,但處理跨多個版本的關係數據庫的累積更新的最佳做法是什麼?用於處理累積更新的RPM技術?

例如,假設您的產品Foo具有版本1.2.1,1.2.2,1.2.3和1.3.0。在其中的每一箇中,都存在需要SQL升級腳本的數據庫模式更改。需要依次運行每個升級腳本才能獲得當前版本的模式。

假設客戶已安裝1.2.2並希望升級到1.3.0。如何構建RPM軟件包,以便擁有適當的腳本並對數據庫執行正確的升級腳本?在這種情況下,您需要執行1.2.3和1.3.0的升級腳本,但不是1.2.1或1.2.2的升級腳本。因爲那些大概已經被執行了。

一種替代方法是要求依次升級到每個中間版本,強制此示例中的用戶在1.3.0之前升級到1.2.3。這看起來不太理想。此外,這可能需要通過外部過程「強制」,因爲我沒有看到RPM SPEC文件中的任何內容表明這一點。

是否有任何已知的技術來處理這個問題?有一點谷歌搜索沒有公開任何。

編輯:「已知」,我的意思是「嘗試和證明」不是理論。

回答

0

使用正確的工具進行工作。 RPM可能不是正確的工具。像Liquibase這樣的東西會更適合這個任務。