Zend Framework 環境でどのように作業しているか、特に他のチーム (データベース変更管理) とデータベース テーブルを最新の状態に保つ方法を知りたいです。私は自宅で働く小規模なチームを持っており、常に最新のデータベース テーブルを用意する必要があります。自宅で仕事をしているので、オフィスで本業を終えてから仕事をすることもあります。
何か案が ?
ps: Rails の移行と同じように
Zend Framework 環境でどのように作業しているか、特に他のチーム (データベース変更管理) とデータベース テーブルを最新の状態に保つ方法を知りたいです。私は自宅で働く小規模なチームを持っており、常に最新のデータベース テーブルを用意する必要があります。自宅で仕事をしているので、オフィスで本業を終えてから仕事をすることもあります。
何か案が ?
ps: Rails の移行と同じように
phingの db deploy 機能を使用して、時間の経過に伴うデータベースの変更を追跡し、開発者間でデータベースを更新しています。また、通常はデータベースの更新を含むアプリケーションの新しいバージョンをデプロイするためにも使用しています。
基本的に、誰かがデータベース スキームを更新する必要があるたびに、データベース移行スクリプトを追加します。その後、各開発者は phing を実行して、これらのデータベース移行スクリプトを自動的に実行できます。
詳細については、この件に関する適切なガイドを参照してください: http://www.davedevelopment.co.uk/2008/04/14/how-to-simple-database-migrations-with-phing-and-dbdeploy/
Rob Allen ( @akrabat )によって開発された ZF 固有の移行ツールもあります。
Akrabat_Db_Schema_Manager: Zend Framework データベースの移行
dbdeploy
原則として、これは のツールに似ていますPhing
。Rob'sSchema Manager
では、各デルタ ファイルには、db スキーマのアップグレードとダウングレードをそれぞれ実行するメソッドup()
とを含むクラスが含まれています。down()
Zend_Tool
特定の移行を実行したり、現在のスキーマ バージョンを報告したりできるコマンドライン ツールが組み込まれています。
更新 (@markus-tharkun の提案による)
Rob のオリジナル作品に基づいて、.dbPDO
ではなくバニラを使用する db 移行ツールを作成しましたZend_Db
。このツールは「South For the Winter」と呼ばれ、所有者 (Diamond Web Services / StartupDevs) は Github でコードをリリースしています: https://github.com/startupdevs/sftw