[Seasar-user:22155] Re: 【DBFlute】自動生成クラスの挙動について

kubo [E-MAIL ADDRESS DELETED]
2017年 12月 12日 (火) 21:46:59 JST


久保(jflute)です

もろもろ情報ありがとうございます!
とりあえずコメントできるところにコメント入れます。

> →実はxmlファイル、diffmapなどを管理対象外として
>  各自のローカル管理で運用していたのですが

SchemaXML は、ignoreにしても大丈夫といえば大丈夫ですね。
普段jfluteの周りのプロジェクトではcommit対象にしていますが、
ReplaceSchemaでちゃんとDBを管理しているのであれば、
誰が叩いても論理的には同じSchemaXMLになるはずなので。
ただ、Generateだけを実行とかすると変なズレが
発生してしまう可能性があるので、
必ず Renewal や Regenerate を使って、
JDBCタスクと共にGenerateするようにしないとですね。

一方で、コミットしておいたほうが、
今回のような事象が発生した時に状況を
把握しやすいというのはあるかもしれません。

...

diffmapは、HistoryHTMLを作るためのもので、
ignoreにしているとHistoryHTMLが
まともな情報にならないかと思います。
http://dbflute.seasar.org/ja/manual/function/generator/task/doc/historyhtml.html

クラスの自動生成には一切影響しませんので、
できればcommit対象にしてHistoryHTMLも
活用して頂けるとう、う、嬉しいです...

> D. SchemaXML (DBFluteクライアントのschemaフォルダの下のxml) も差分出てる?
>  => XMLの前から入れ替わってるのか、XMLの後で入れ替わってるのかの切り分け
> →発生しない人のdiffmap、及びschemaXMLを配置し
>  renewal実行した所、差分発生がしなくなった

ここが不可思議な現象ですね。
実際には、renewalでSchemaXMLが上書きがされるので、
他の人のSchemaXMLを持ってこようがこまいが
論理的には関係ないはずなので。
厳密には、既存のSchemaXMLを参照してdiffmapが更新されますが、
こちらは自動生成クラスには影響しません。

まあ、発生する人と発生しない人がいるということで、
何かしら...JavaかJDBCドライバかOracleDBなどで、
実行時の差ができてしまっているのかもしれません。

もうちょい色々と実験を繰り返さないとわからなさそうですね...
ただ、ひとまず回避はされているということなので、
無理せず、また頻発して困るようであれば、
また言って頂ければフォローさせて頂きますのでお気軽に。


jfluteとしては、ちょっと気になりますが....


> ※引き続きご利用させていただきます!
わーい、ありがとうございます!(^^


Seasar-user メーリングリストの案内