第1章 はじめに

皆さんが関わっているWebアプリケーションプロジェクト。大抵はCVS, Subversion, Git, Mercurial等による構成管理が行われていると思います。 このソフトウェアをチェックアウトしてから、ビルド・デプロイ等の手順を踏んで起動にこぎ着けるまで、どのようなステップがありますか? 設定ファイルを環境に合わせて整備し、DBをインストールし、このSQLを流して…。

この、プロジェクトのビルド手順を標準化し、コマンドを1つ叩くだけで「今すぐ利用可能な状態」を作れるようにしよう、という試みの一つが Apache Mavenプロジェクトです。我々は、このビルド手法を「スマートビルド」と呼んでいますが、データベース(DB)の構築に関しては、理想的なスマートビルドを 行う事が困難である感じました。

開発中にDBのスキーマが変更になる際、どのような手続きを踏みますか? DB管理者と相談し、ER図を更新し、初期DBの初期化SQLを更新し、 前バージョンのDBからの移行スクリプトを書き…。

このように、DBの管理・変更には大きなコストがかかります。

Jiemamyは、このDB構成の管理手順を標準化・補助することにより、DB状態の適切な管理を実現します。また、それにより、 DBに対するリファクタリングや移行作業を簡潔に行うことができます。