我想知道你們是如何在Zend Framework環境中工作的,尤其是如何使數據庫表與其他團隊(數據庫變更管理)保持同步。我有一個在他們家工作的小團隊,每次我們都需要擁有最新的數據庫表。我們在家工作,所以有時候我們在辦公室完成主要工作後就會工作。zend數據庫遷移腳本
有什麼想法?
PS:就像Rails的遷移
我想知道你們是如何在Zend Framework環境中工作的,尤其是如何使數據庫表與其他團隊(數據庫變更管理)保持同步。我有一個在他們家工作的小團隊,每次我們都需要擁有最新的數據庫表。我們在家工作,所以有時候我們在辦公室完成主要工作後就會工作。zend數據庫遷移腳本
有什麼想法?
PS:就像Rails的遷移
我們正在使用的phing數據庫部署功能來跟蹤數據庫隨時間的變化和更新我們的開發人員之間的數據庫。我們還使用它來部署我們的應用程序的新版本,通常包括數據庫更新。
基本上每次有人需要更新數據庫方案時,他都會添加一個數據庫遷移腳本。然後每個開發人員可以運行phing來自動執行這些數據庫遷移腳本。
有關詳細信息,請參見這裏關於這個問題的一個很好的指導:http://www.davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy/
還有由羅布·艾倫開發(@akrabat)一ZF專用的遷移工具:
Akrabat_Db_Schema_Manager: Zend Framework database migrations
原則它類似於Phing
中的dbdeploy
工具。在Rob的Schema Manager
中,每個增量文件都包含一個類,其中包含分別執行數據庫模式的升級和降級的方法up()
和down()
。
它帶有內置上Zend_Tool
一個命令行工具,它可以執行特定遷移,報告當前架構版本,等
更新(如@馬庫斯 - tharkun建議)
我基於Rob的原創作品創建了一個db遷移工具,該工具使用香草PDO
而不是Zend_Db
。該工具被稱爲「南下冬季」,業主(Diamond Web Services/StartupDevs)在Github上發佈了代碼:https://github.com/startupdevs/sftw
我看到Harrie Verveer去年在PHPNW發表了一個非常有趣的話題。它總結如下:
http://techportal.inviqa.com/2011/01/11/database-version-control/
他來的主要結論是,目前對這個問題沒有靈丹妙藥。
我已經看到了補丁系統在大型項目中失控,但在小型項目上完美工作。您選擇的方法將大致取決於團隊的規模,項目的規模和數據庫更改的頻率。這是一個容易在小型項目上過度設計的問題,因此請注意您投入解決方案的工作量。
該提案已經被存檔。 – markus
我最近寫了一個[db移植工具](https://github.com/startupdevs/sftw),它基於[Rob的移植工具](https://github.com/akrabat/Akrabat),名爲South for the Winter。它使用vanilla PDO而不是'Zend_Db'連接,所以它不需要Zend Framework。 https://開頭github上。com/startupdevs/sftw –
@ markus-tharkun:在ZF核心中包含遷移組件的建議可能會被歸檔,但是在撰寫本文時,博客文章仍然存在,並且仍然指向他的[遷移庫]( https://github.com/akrabat/Akrabat)。乾杯! ;-) –