バージョン移行{0.8.9.9 to 0.8.9.10}

環境上の注意点

Sql2Entityも一緒に *いつもの注意点

バージョンアップした際は、GenerateだけでなくSql2Entityも実行して下さい。

AutoMapping機能で19桁以上はDecimalに

typeMappingMap.dfpropのAutoMapping機能で、19桁以上の場合の挙動が変わります。

これは改善点です。19桁以上の場合は、Longは精度的に適していませんでした。 もし、19桁以上のNUMERIC(やDECIMAL)でLongで利用している場合は、該当箇所がコンパイルエラーになりますので、 そのコンパイルエラーを直すことで移行可能です。

また、外だしSQLで "sum関数" を利用したカラムのマッピングも "decimal?" になります。 対象のカラムが19桁未満でも、sum関数を利用するからには結果は19桁を超える可能性があるためです。 実際にデータベースからはメタ情報として最大の桁数が戻されています。どうしても移行出来ない場合は、 Sql2Entityの強制型指定を利用することで、"long?" にマッピングすることが可能です。

-- ##long? TARGET_COLUMN_NAME##

もし、全体としてどうしても移行出来ない場合は、"littleAdjustmentMap.dfprop" に以下のプロパティを "true" にすることで以前のバージョンと同じ挙動になります(19桁以上でもLong)。但し、これは推奨されません。

; isCompatibleAutoMappingOldStyle = true

columnExeptList改めcolumnExceptMap

"自動生成対象から除外するカラム" を指定する "databaseInfoMap.dfprop" の "columnExeptList" ですが、"どのテーブルのどのカラム" という指定ができない欠点がありました。これを改善し、新たに "columnExceptMap" として生まれ変わりました。

; columnExceptMap = map:{
    ; VENDOR_CHECK = list:{COLUMN_EXCEPT_TEST}
}

古いタイプの "columnExeptList" は廃止され、設定が残っている場合は例外(移行を促すメッセージ付き)になります。 もし、利用されている方は、"columnExceptMap" に移行するようにして下さい。

実装上の注意点

特にありません。