[seasar-dotnet:2326] Re: 生成されたマテビューログのモジュールでクラス名のエラー

kubo [E-MAIL ADDRESS DELETED]
2013年 9月 22日 (日) 19:57:25 JST


jfluteです

> > マテビューのテーブル名は追加されていますが
> > テーブル名のコメントが追加されていないことです。
>
> おおぉ、なるほど。ありがとうございます。
> マテビューのコメントのケースを確認したことがなかったので、
> こういう細かいフィードバックはとても助かります。

DBFlute-1.0.4L-RC1にて、
マテビューのコメントも取得できるようにしました。
Oracle10gからは、ALL_MVIEW_COMMENTS という
データディクショナリで管理されているようですね。
dbflute-oracle-exampleにて確認済みです。

Oracle9iでDBFlute動かしてる人がいるかどうか不明ですが、
念のため、ALL_MVIEW_COMMENTSへの検索は、
例外が発生しても続行するようにしています。

フィードバックありがとうございました。

2013/9/3 kubo <dbflute @ gmail.com>:
> 久保(jflute)です
>
>> 教えて頂いた通り、上記の設定にすると作成されなくなりました。
> おお、良かったです
>
>> マテビューのテーブル名は追加されていますが
>> テーブル名のコメントが追加されていないことです。
>
> おおぉ、なるほど。ありがとうございます。
> マテビューのコメントのケースを確認したことがなかったので、
> こういう細かいフィードバックはとても助かります。
>
> コメントはALL_TAB_COMMENTSから取得しているのですが、
> マテビューだとそこに入らないのでしょうかね。
> でも、カラムの方はALL_COL_COMMENTSでもOKだと。
>
> ちょっと試せるときに試してみたいと思います。
>
> 2013/9/2 志水正幸 <ie2m-smz @ asahi-net.or.jp>:
>> 志水です。
>>
>> 久保さん ありがとうございます。
>>
>> databaseInfoMap.dfprop
>>     ; variousMap = map:{
>>         ; objectTypeTargetList=list:{TABLE;VIEW;SYNONYM}
>>         ; tableExceptList = list:{prefix:MLOG$_}
>>     }
>>
>> 教えて頂いた通り、上記の設定にすると作成されなくなりました。
>>
>>
>> 既出か、こちらのバージョン(dbflute-0.8.9.49)が古いのかもしれませんが、
>> 一点、気になったことがあります。
>> それは、schema-sikeiridb.htmlのマテビューのテーブル名は追加されていますが
>> テーブル名のコメントが追加されていないことです。
>> マテビューの各項目は問題なく追加されています。
>>
>> 現在、使用しているORACLEのバージョンはOracle11gなのですが、
>> マテビューのテーブル名のコメント追加は、「COMMENT ON MATERIALIZED VIEW」
>> になっているみたいです。
>> どうやら10gあたりから変更されているみたいです。
>>
>> 以上、ありがとうございました。
>>
>>
>> (2013/08/31 21:22), kubo wrote:
>>> 久保(jflute)です
>>>
>>> 志水さん、こんばんは
>>>
>>> マテビューログのクラスを自動生成する意味はまずないと考えられるので、
>>> DBFluteとしては最初から自動生成しない方がいいのでしょうが、
>>> ひとまずは、databaseInfoMap.dfpropのtableExceptListを使って、
>>> 「MLOG$_で始まるテーブルは自動生成しない」という風にすると
>>> 良いかと思います。
>>>
>>> // databaseInfoMap.dfprop - tableExceptList
>>> http://dbflute.seasar.org/ja/manual/reference/dfprop/databaseinfo/#tableexceptlist
>>>
>>>
>>> ※メタデータでマテビューログかどうか判断つかなそう...
>>>
>>> 2013/8/31 志水正幸 <ie2m-smz @ asahi-net.or.jp>:
>>>> こんにちは。お世話になっています。
>>>> 志水と申します。
>>>>
>>>> マテビューとマテビューログをCreateすると
>>>> generate.batで生成されたときにマテビューログの
>>>> モジュールも生成されます。
>>>> マテビューログの名前はORACLE側で自動生成されて「MLOG$_[tableName]」と
>>>> なってしまうので
>>>> DBFluteで生成されたモジュール(クラス名)には「$」が付加されてしまい
>>>> コンパイルエラーとなってしまいます。
>>>>
>>>> この場合、
>>>> (1)ORACLE側でマテビューログの名前を変える
>>>> (2)DBFLUTE側でマテビューログのモジュールを生成をしない
>>>> が考えられるのですが、(1)の名前は変えれなさそうなので
>>>> (2)の方法かなと思うのですが、方法がわかりません。
>>>> このような場合の回避方法を教えてください。
>>>>
>>>> 以上、宜しくお願いします。
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> seasar-dotnet mailing list
>>>> seasar-dotnet @ ml.seasar.org
>>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>> _______________________________________________
>>> seasar-dotnet mailing list
>>> seasar-dotnet @ ml.seasar.org
>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>
>>
>> _______________________________________________
>> seasar-dotnet mailing list
>> seasar-dotnet @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet


seasar-dotnet メーリングリストの案内