社員ブログ

データベースのスキーマを管理する

2014年08月03日 日曜日

チーム開発において、データベースのスキーマ変更をうまく同期できなくて問題を生じさせることがある。何かいい方法がないか調査中。

機能追加などを複数の人間が同時並行で行っている際などに、データベースのスキーマも複数の人間がそれぞれ変更を行うことがある。

変更した各自は、SQLの変更履歴をバージョン管理下にあるファイルに追記、コミットしている。

その変更内容を追って、各自が他者によって行われた変更内容を適宜適用していけば通常問題は生じないのだが、手作業による適用であるがゆえに完璧ではなく、時折、適用漏れなどが発生したりして不具合が生じてしまう。

この部分を自動化できるツールがデータベースマイグレーションツールと呼ばれるもので、最近のモダンなフレームワークには標準で付属しているものもあるが、いままで利用する機会がなく知識がなかったので、Zend Frameworkで構築しているプロジェクトで使えそうなものを調べてみた。


探していると、まだまだたくさんあってどれを選ぶか悩みますね。
開発中のプロジェクトのバージョン管理とどう連携させるかが難しそうで、運用ルールを決めるところからしっかりやる必要がありそうです。もう少し研究してみます。


チーム開発といえば、モダンな開発フローにキャッチアップせねばと思いまして
「チーム開発実践入門」
http://gihyo.jp/book/2014/978-4-7741-6428-1
を読んでますが、なかなか勉強になります。

文字サイズサイズ小サイズ中サイズ大