[Seasar-user:15672] Re: [DBFlute]ReplaceSchemaがシノニムをDROP TABLEしようとする。

kubo [E-MAIL ADDRESS DELETED]
2008年 9月 5日 (金) 19:23:46 JST


久保です。

> こちらで再現しました。
> java.sql.SQLException: ORA-00942: 表またはビューが存在しません。
>
> 要は、文法的にDROP SYNONYMを使わないといけない
> というところですね。こちらはDB2でALIASをDropできるようにした
> のと同じ要領で対応したいと思います。

取り急ぎ、こちらの件だけ対応してました。
http://dbflute.sandbox.seasar.org/download/dbflute/dbflute-0.8.0.zip
(SNAPSHOTとなります)
でSYNONYMはDropできます。

dbflute-oracle-exampleで試してみて、以下のように
Drop Synonym文が発行されるようになりました。

...
alter table PURCHASE drop constraint FK_PURCHASE_MEMBER
alter table PURCHASE drop constraint FK_PURCHASE_PRODUCT
drop synonym VENDOR_SYNONYM_MEMBER
drop table MEMBER
drop table MEMBER_LOGIN
drop table MEMBER_SECURITY
drop table MEMBER_STATUS
...

2008/9/5 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保です。
>
>>> シノニムを、「DROP TABLE シノニム名」が実行され処理がそこで
>>> ストップしてしまいます。
>>
>> 具体的に発生する例外を教えて頂けますでしょうか?
>
> こちらで再現しました。
> java.sql.SQLException: ORA-00942: 表またはビューが存在しません。
>
> 要は、文法的にDROP SYNONYMを使わないといけない
> というところですね。こちらはDB2でALIASをDropできるようにした
> のと同じ要領で対応したいと思います。
>
>> 主キーや外部キーが取得できないと聞いておりましたが、
>> http://d.hatena.ne.jp/jflute/20080822/1219377402
>> 主キーや外部キー意外のカラム情報も全く取得できない
>> 状態でしょうか?
>
> こちらでシノニム使ってみましたが、
> PKなのかFKなのかの情報がないだけで、
> カラム自体は全て取得できています。
> Oracle10g XEです。
>
> 2008/9/5 kubo <[E-MAIL ADDRESS DELETED]>:
>> 西山さん、こんばんは
>>
>> 久保です。
>>
>> 取り急ぎ、状況を確認させて下さい。
>>
>>> シノニムを、「DROP TABLE シノニム名」が実行され処理がそこで
>>> ストップしてしまいます。
>>
>> 具体的に発生する例外を教えて頂けますでしょうか?
>>
>>> 実行環境ではシノニムのカラム情報が取得できていないらしく、
>>> project-schema.xml、
>>> bsentity.Bs~クラスに、カラム情報が全くありませんでした。
>>
>> 主キーや外部キーが取得できないと聞いておりましたが、
>> http://d.hatena.ne.jp/jflute/20080822/1219377402
>> 主キーや外部キー意外のカラム情報も全く取得できない
>> 状態でしょうか?
>>
>>> あと、些細なことですがproject-schema.xmlに type="SYNONYM"が
>>> あると、DTDと内容が合わなくなり、Eclipse上でエラーとなりました。
>>
>> なるほど、これは想定しませんでした。
>> DTD(どう直せば良いか...)確認します。
>>
>>
>> また、シノニムの利用ですが、
>> 具体的にどのような用途で利用されているか
>> 参考までに教えてもらってもよろしいでしょうか?
>>
>> A. DBアクセスは全てシノニム経由を想定している?
>> B. テーブルアクセスとシノニムアクセスを混ざる?
>> など
>>
>> 2008/9/5 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>>> お世話になっております。
>>> 西山です。
>>>
>>> 申し訳ありません。追加です。
>>> 実行環境ではシノニムのカラム情報が取得できていないらしく、
>>> project-schema.xml、
>>> bsentity.Bs~クラスに、カラム情報が全くありませんでした。
>>>
>>> 以上よろしくお願いいたします。
>>>
>>> あと、些細なことですがproject-schema.xmlに type="SYNONYM"が
>>> あると、DTDと内容が合わなくなり、Eclipse上でエラーとなりました。
>>>
>>> [2008/09/05 15:45] 西山 はじめ さんは書きました。:
>>>> お世話になっております。
>>>> 西山と申します。
>>>>
>>>> databaseInfoMapに
>>>>       ; propertiesMap= map:{includeSynonyms=true}
>>>> build.propertiesに
>>>> torque.database.type.list = list:{TABLE;VIEW;SYNONYM}
>>>> を設定して、replace-shema.batを実行したところ、
>>>> シノニムを、「DROP TABLE シノニム名」が実行され処理がそこで
>>>> ストップしてしまいます。
>>>>
>>>> jdbc.bat、generate.batではエラーとなりません。
>>>>
>>>> 仕様バージョン・環境は以下のとおりです。
>>>>  DBFlute 0.7.9
>>>>  Oracle 9.2.0.1
>>>>
>>>> 以上よろしくお願いいたします。
>>>>
>>>
>>>
>>> --
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> 株式会社フジミック システム開発センター ソフト開発2部
>>> 西山 創
>>> [E-mail]:[E-MAIL ADDRESS DELETED]
>>>
>>> 〒140-0002 品川区東品川3-32-42 フジテレビ別館7F
>>> [TEL]:03-5495-1060
>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>
>


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