[seasar-dotnet:1802] Re: [DBFlute.NET]PostgreSQL date型フィールドの外部キーがただしくジェネレートできない

kubo [E-MAIL ADDRESS DELETED]
2010年 9月 7日 (火) 18:55:42 JST


久保(jflute)です。

oldcityさん、こんばんは

日付型の InScope、NotInScope は、
利用されることがないだろうということで、
生成されない設定になっていましたが、
日付型PKが想定されていませんでした。
(年月日だけの日付なら業務的にもあり得ますね)

ということで、生成するように修正した
SNAPSHOTを公開しました。

// dbflute-0.8.9.19-SNAPSHOT.zip
http://dbflute.net.sandbox.seasar.org/ja/environment/newest.html

// 0.8.9.19 への移行
http://dbflute.net.sandbox.seasar.org/ja/environment/upgrade/migration/migrate08918to08919.html

取り急ぎなので、Java版では確認が済んでいますが、
.NET環境では未実施なので確認して頂ければと思います。


#
# 再現 DDL や、エラー対象の詳細など、
# 状況がわかる情報が明示されているので、
# すぐに対応に着手できました。とても助かります。
#

2010/9/7 hidetomo furuichi <[E-MAIL ADDRESS DELETED]>:
> oldcityと申します。
>
> PostgreSQLに下記のテーブルがあります。
>
> CREATE TABLE mst_date
> (
>  target_date date NOT NULL,
>  fiscal_year int NOT NULL,
>  CONSTRAINT pk_mst_date PRIMARY KEY (target_date)
> );
>
> CREATE TABLE dat_order
> (
>  order_id bigserial NOT NULL,
>  order_date date NOT NULL,
>  completion_date date NOT NULL,
>  CONSTRAINT pk_dat_order PRIMARY KEY (order_id)
> );
>
> ALTER TABLE ONLY dat_order
>  ADD CONSTRAINT fk_dat_order_order_date FOREIGN KEY (order_date)
>    REFERENCES mst_date(target_date);
> ALTER TABLE ONLY dat_order
>  ADD CONSTRAINT fk_dat_order_completion_date FOREIGN KEY (completion_date)
>    REFERENCES mst_date(target_date);
>
> 上記のテーブル構成でソースをジェネレートすると
> AbstractDatOrderCQクラスとBsDatOrderCQクラスに
> SetOrderDate_InScoupe<IList<DateTime?> ls>メソッド
> SetOrderDate_NotInScoupe<IList<DateTime?> ls>メソッド
> SetCompletionDate_InScoupe<IList<DateTime?> ls>メソッド
> SetCompletionDate_NotInScoupe<IList<DateTime?> ls>メソッド
> が作成されておらず
> BsMstDateBhvクラスの
> MyInternalLoadDatConstructionByOrderDateListCallbackメソッドと
> MyInternalLoadDatConstructionByCompletionDateListCallback
> でビルドエラーとなります。
>
> 環境は下記の通りです。
> OS : Winodws XP Professional
> DBFlute.NET : 0.8.9.18
> PostgreSQL : 8.4
> JDBC : postgresql-8.4-701.jdbc4.jar
>
> outputのスキーマ情報にはForeignTable、ReferrerTableともに
> 正しく出力されております。
>
> int型,bigint型の外部キーは正しくジェネレートされています。
>
> またデータベース上で外部キー設定をせずにadditionalForeignKeyMapで
> 指定しても同様な状態となります。
>
> 外部キーに日付型は利用できないのでしょうか?
> もしくは設定等に誤りがあるのでしょうか?
> どうかお知恵をお貸しください。
> よろしくお願い致します。
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


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