2012-04-17 146 views
0

我正在尋找一個能夠快速實現我的框架的包安裝/更新功能的腳本。它應該能夠執行以下操作:PHP/MySQL獨立安裝程序/更新程序腳本?

  • 必須與PHP 5兼容。
  • 應該能夠安裝和更新組件的文件和數據庫表。
  • 應允許定義程序包依賴性並具有解決衝突的形式。
  • 當包的開發人員提供它時,應該允許更新SQL語句。 (在不丟失數據的情況下進行數據庫更改)。
  • 應該能夠將更新包「監禁」到目標文件夾。
  • 應該能夠定義和檢測不同的封裝類型以應用所提到的'監獄'。
  • 應提供一個API將其集成到自定義後端。
  • 應允許下載軟件包,最好通過HTTP(而不是FTP或其他軟件)下載。

我打算將此作爲一個獨立實用程序來輕鬆地爲模塊化框架提供更新以及爲客戶定製代碼。

如果您有類似的工具建議或在開源框架中使用的工具來建立它,那也不錯。 :)

回答

1

我不知道有什麼魔術工具可以做到這一點,但是可以幫助你完成這些任務的夫婦是Phrake和Composer。

Phake是Ruby的Rake util的PHP版本。您可以使用這些腳本來設置數據庫,更新文件和運行單元測試。

對於軟件包管理,您可以使用Composer來管理您的依賴關係(如果您依賴於來自這些系統的軟件包,還可以從PEAR下載),當然這可以合併到您的構建腳本中。

+0

謝謝你的建議。我非常喜歡Composer的外觀。儘管Phake和Composer都沒有提供我所追求的數據庫更新功能。也許你知道一個這樣的系統。優選地,程序包的程序員提供UPDATE.SQL文件以從INSTALL.SQL文件以外的舊版本升級以進行全新安裝。 – Beanow 2012-04-18 13:49:07

+0

我的意思是在Drupal模塊中實現的一個很好的例子。他們生成一個數據庫模式並允許爲每個版本的這個基本模式增量添加。還提供更新功能以運行將現有數據庫更新到目標版本所需的代碼。 – Beanow 2012-04-18 16:43:50

+0

閱讀更多細節作曲家是一個合適的解決方案。儘管在安裝/更新時似乎沒有數據庫操作的標準,但是可以實現這一點,並將其重用於任何需要它的產品。除此之外,它實現了我列出的所有要求。我現在就接受,謝謝! – Beanow 2012-04-19 10:20:15

相關問題