アジャイルアジャイルな開発に欠かせない割りに、あまり言及されていなかったのがデータベースのアジャイル開発です。今、私の参画しているプロジェクトで、データベースに関するアジャイルな開発の方法を模索していました。現在実践していて効果のあるプラクティスをまとめます。「スキーマ定義クエリ」と、移行に必要な「初期データCSV」および「移行クエリ」、「移行プログラム」は、管理ツール(VSS)にチェックインされていて、だれでも修正が可能です。スキーマ定義クエリだけでなく、「移行データ」についてもVSSで管理しているのがポイントです。マスタなどのデータは、業務の設計に応じて変わるものですし、移行プログラムも実装チームやテストチームが柔軟に修正できたほうが便利です。データは、単体テスト用データとしても利用できます。2.データベースのデイリービルドデータベースの移行を自動化しデイリーで実行しています。常に最新の移行プログラムが実行されたデータベースが手に入ります。これによって、アプリケーションのテストに移行データが利用可能です。アプリケーションのプログラミングと同時に移行データのテストが可能です。アプリケーションのバグの多くは、データとの組み合わせで発生しますが、それらを見つけるのに効果的です。3.スキーマ変更の一元管理データベーススキーマの変更は、DBAだけに許可しています。DBAにスキーマ変更を依頼するときには、「DB変更履歴」のドキュメントに変更内容と変更対象を記載します。(これによって変更履歴のドキュメントが常に最新に保たれます。)DBAは、スキーマ変更と移行データへの対応を行い、さらにER図の修正をおこなったら、DB変更履歴のステータスを「完了」にします。ER図も、DBAにしか修正は許可されていません。この一元管理は、次の「4」に関連します。4.スキーマ変更クエリの配布データベースに変更があった場合は、DBAが通知を受け修正します。DBAはスキーマ変更を「クエリ」として実装します。(データに影響を与えないクエリとする。)そして、ソース管理ツールで時系列にチェックインします。中にはスキーマが最新化されていないものがあります。いった場合でも、時系列にスキーマ変更クエリを適用していけば、データをそのままに保持しながらスキーマを最新化できます。独自のテストデータを登録していた場合でも、スキーマ変更クエリを適用すればデータを壊さずにスキーマを最新化できます。5.ローカルテスト用DBファイルの配布デイリーに移行プログラムを実行して、完成したデータベースファイルをファイルサーバーにコピーしています。このファイルを使って、ローカルにデータベースサーバーを立ててテストに利用することができます。ローカルテスト用DBファイルは、毎日最新版を取得できます。個人情報を含むカラムは、すべてマスキングします。これに使用するマスキングクエリは、誰でも利用できるように配布しています。7.データベースの移行チェッククエリ移行プログラムを実行した結果、最低何件のデータが登録されていれば正しいかをチェックするクエリを作成しています。されていれば、移行プログラムはおおよそ正常だ」という条件ならチェックするのは簡単です。これによって、移行プログラムの実施エラーが見つけやすくなります。8.ER図からテーブルの論理名および物理名の一覧をExcel出力ER図はVisioで描いていますが、この情報から論理名(日本語)と物理名(英名)や型、桁数、テーブルの概要など、さまざまな情報をExcelに出力しています。Excelであれば、フィルタを掛けやすく物理名称の一覧をプログラミングに利用することも多いようです。視線の方向に常に直進するカメラを操作する殴れる物体を作るクリックしたときに物体を移動させる物体をアニメーションさせる月別アーカイブ検索はてなブログをはじめよう!iad_otomamayさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。