This is a cache of http://dbflute.seasar.org/ja/manual/function/generator/task/replaceschema/defaultvalue.html. It is a snapshot of the page at 2024-11-01T00:21:19.459+0000.
デフォルト値の設定 (defaultValueMap.dataprop) | DBFlute

デフォルト値の設定

処理概要

例えば、共通カラムのようなカラムでは、ReplaceSchemaで登録するときは固定の値を登録しても特に問題が無い場合があります。 そのようなときにデータファイルにそれらカラムのデータを律儀に登録するのではなく、"あるカラムは一律のある値を登録する" ということが可能です。

使い方

データファイルと同じディレクトリに defaultValueMap.dataprop という名前のテキストファイルを配置して、 カラム名と固定の値を定義します。そして、データファイルのヘッダ行において対象カラムのカラム定義(列自体)を省略(削除)することで、 データ登録処理でそのカラムに対して指定された固定の値を登録するようになります。

e.g. 共通的なカラムに固定の値を定義 @defaultValueMap.dataprop
map:{
    ; REGISTER_DATETIME = sysdate
    ; REGISTER_USER     = foo
    ; REGISTER_PROCESS  = bar
    ; UPDATE_DATETIME   = sysdate
    ; UPDATE_USER       = foo
    ; UPDATE_PROCESS    = bar
    ; VERSION_NO        = 0
}
設定ファイル
defaultValueMap.dataprop (UTF-8)
プロパティ
カラム名と固定値の定義
補足
  • "sysdate" が指定されている場合は、登録時の現在日時を登録
  • カラム名は大文字小文字区別なし
  • 全てのデータファイル形式で有効

定義されたカラムの一部のカラムしか定義されていないテーブルでも、 その一部のカラムに対して固定の値が登録されます(Behaviorでの共通カラムの自動設定とは挙動が異なります)。 ここでは "共通カラムの自動設定" というよりも、"共通カラム対する疑似のデフォルト制約" という感じになります。

convertValueMap.dataprop と併用する場合、変換対象となった値に対しては、デフォルト値は適用されません。 つまり、変換結果として null になったものは、デフォルト値が設定されていてもそのまま null として登録されます。