DBスキーマの変更を追跡または自動化するための最良の方法は何ですか?私たちのチームはバージョン管理にSubversionを使用しており、この方法でいくつかのタスクを自動化できました(ステージングサーバーにビルドをプッシュし、テスト済みのコードを運用サーバーに展開します)が、データベースの更新は引き続き手動で行っています。コードとDBの更新をさまざまなサーバーにプッシュするバックエンドとしてSubversionを引き続き使用しながら、さまざまな環境のサーバー間で効率的に作業できるソリューションを見つけたい、または作成したいと考えています。
多くの一般的なソフトウェアパッケージには、DBバージョンを検出して必要な変更を適用する自動更新スクリプトが含まれています。これは、(複数のプロジェクト間、場合によっては複数の環境と言語間で)より大きな規模でこれを行うための最良の方法ですか?もしそうなら、プロセスを簡素化する既存のコードはありますか、それとも私たち自身のソリューションをロールするのが最善ですか?以前に似たようなものを実装してSubversionのコミット後フックに統合した人はいますか、それとも悪い考えですか?
複数のプラットフォームをサポートするソリューションが望ましいですが、私たちの作業の大部分はそのプラットフォームで行われるため、Linux / Apache / MySQL / PHPスタックをサポートする必要があります。