勝手に思いましたあったらいいな、こんな機能

改めて本家サイトをみていて、



主な機能には次のようなものがあります。



1.データベースからエンティティクラスのJavaコードを生成する機能
2.エンティティクラスからDDL(Data Definition Language)スクリプトCSV形式のダンプデータを生成し、バージョン管理する機能
3.バージョン管理されたDDLスクリプトとダンプファイルを使用してデータベーススキーママイグレーションする機能



3.の部分はマニュアル=オフラインになります。
誰でも実行できる、という問題がありますが、S2JDBC-GenがMigrate以下に作成された最新のスクリプトを実行するクラスが同時に生成されると嬉しいなぁ、と思いました。


既にテーブルにあるデータはどうするの?と思いますが、もちろんすべて消えます。Drop/CreateをJava側で実行するので。また、データについても、型を変換されると動かなく事になるので、ここは補償しない、と。



全てのテーブルに対して、このような事をするのは、単体→結合、結合→受入 等、ある意味テーブルの内容をリフレッシュする時です。または、追加される項目が徐々に増えていくような開発(パイロット→本開発)の時です、テストケースを作っているはずですので、Drop/Createした後、テストケースを流せば、という発想です。



面倒だなぁと思う事は、管理・制御をコードレベルでしないといけない事です。
・Sequenceは毎回実行する必要がない
・テーブルもどれを実行するのか、しないかのかを自分で管理する
・皆で共有しているテーブルに対して、いきなりDrop/Createされたら、テストが止まる
クリアすべき課題の方が多そうですね。



私は少人数での開発が多く、大人数の開発も経験はありますが、参加しないようにしていますので(笑)、少人数での開発からの視点です。



やはり、自分だけの世界でまずは試してみることかもしれないです。