menu
書いてる野郎
orebike@gmail.com
以上の動作をグルグル回す。 あくまでソースコードの修正の起点はエンティティ。
これを無理やりDB起点にしようとする運用をやろうとするとS2JDBCの機能がかなりスポイルされるのでやめたほうがよい。 適材適所。
このようにしてターゲット指定で実行する
$ ant -f s2jdbc-gen-build.xml hogehoge
名前集合を作りたいならこうなる
$ ant -f s2jdbc-gen-build.xml gen-names
<gen-ddl classpathdir="${classpathdir}" rootpackagename="${rootpackagename}" entitypackagename="${entitypackagename}" env="${env}" jdbcmanagername="${jdbcmanagername}" classpathref="classpath" autogenerateforeignkey="false"> </gen-ddl>
↑のように
autogenerateforeignkey="false"
外部キーの自動生成をオフる。
<gen-ddl classpathdir="${classpathdir}" rootpackagename="${rootpackagename}" entitypackagename="${entitypackagename}" env="${env}" jdbcmanagername="${jdbcmanagername}" classpathref="classpath" autogenerateforeignkey="false" dump="false"> </gen-ddl>
dump="false"
をつけると既存のDBに入っているデータを取り出さない
うえのほうで共通的にに設定してる部分をこのようにする
<property name="uses2junit4" value="true"/>
ま、そもそもテストは自動生成に頼らず自分で作ったほうがよい。
<gen-ddl ... sqlIdentifierCase="lowercase" ... />
<gen-ddl ... tableOption="CHARACTER SET utf8" ... />
日本語使うならUTF8にしておくのは必須であろう。 これをせずに migrate とかやった場合に日本語データを突っ込もうとしたらエラーが出たりする。