jfluteの日記:DBFlute の Firebird 対応は? の続編です。該当記事のコメントの通りですが、 とりあえず ReplaceSchemaタスク、そして JDBCタスクが 実行できるようになりました。 Firebird のJDBCドライバでポイントが二点: (jaybird) A. DatabaseMetaDataでテーブル名指定がデフォルト前方一致 B. プロシージャで参照されているテーブルは drop できない "A" は、例えば getColumns() とか getIndexInfo() など。 MEMBER を指定したら、MEMBER_ADDRESS の情報まで戻ってきて しまいます。これは他のDBMSではない挙動ですし、JDBCドライバの 仕様として、javadoc にもそのようなことは書いてありません。 "B" は、よりチェックが強い、と言えるのですが、 ReplaceSchemaと相性が悪かったので、Firebird限定処理 として先にプロシージャを drop するようにしました。 ただ、逆にテーブルのデフォルト制約などでプロシージャを 利用していると今度はプロシージャが drop できなかったりして... (今回は状況的にあり得る可能性の高い方を優先してケアします) それにしても、日本だとほとんど実績を耳にすることありませんが、 海外だとどうなのでしょうね...!? @DBFlute, Java, DBFlute.NET, C#, Firebird, JDBC