牛尾でございます。
>XP での DB は、やっぱり難しいものだと聞いてます。XP の本を読むと、「最
>初に DB 設計したのは失敗だった。コロコロと構造が変わるので、最初はモッ
>クオブジェクトを使って、DB の構築はあとにすべきだった。」なんて書いて
>あったりしますね。
>
>開発初期ならこれはいい手なんですが、1 回でもリリースしてしまうと、その
>あとの DB の変更はやっぱり大変な手間がかかるでしょう。XP でもDB は、ER
>図も書いて、前払いで設計すべきかもしれません(これは結論が出ていないよ
>うな)。
私ののプロジェクトでは、最初からDB設計していません。うちのプロジェクトはCMPつかいました。
#基本はモデルからマッピングしています。
さすがに項目変更はめんどくさいのでRelaxerを使ってCMPやDTOのジェネレータを作りました。
CMPはテーブルを張ってくれるので、最初の変化が多いときは、テーブル消して
CMPデプロイ、、、という感じでスキーマ変更していました。
後半になってきて安定してくると、DBAを設置して、その人がデータベースを
管理しましたが、先のジェネレータが吐くソースをジェネレーションギャップパターン
にしておいて、項目変更を柔軟に行えるような仕組みを作っておきました。
#といってもさすがRelaxer様で1日程度でできました。
しかし、たしかに面倒は面倒なのでファウラーさんがDBリファクタリングの本を
はやくだしてほしいですね。
以上です。