属性(フィールド)に関する設定です。name, column_name, external_type, class_nameは必須項目です。
| 設定項目 | 設定 |
|---|---|
name |
属性名。TapKitからはこの名前でアクセスする。 |
column_name |
データベースに登録されているフィールド名。 |
class_name |
データをマッピングするクラス名。String, Integer, Float, Date, Time, Timestamp, Booleanから選択する。 |
external_type |
データベースで管理されているフィールドのデータ型。サポートされるデータ型は各アダプタに依存する。 |
allow_null |
NULLの制約。falseにするとNULLの入力を許可しない。省略するとfalseに設定される。 |
read_only |
読み込み専用の設定。trueにするとデータを変更できなくなる。 |
width |
データの長さ。データ型が文字列のときのみ有効。 |
属性のclass_nameをBooleanにマッピングすると、データ行の1をtrueに、0をfalseに相互変換します。数値以外のデータ型にBooleanをマッピングすることはできません。
属性を上記以外のクラスにマッピングすることもできます。フェッチしたデータ行はカスタムクラスに自動的に変換され、保存時にはその逆の操作が行われます。カスタムデータ型を使用するには以下の項目を設定します。
class_nameにカスタムクラス名を指定する
factory_methodに、文字列からカスタムクラスのインスタンスを生成するクラスメソッドを指定する
conversion_methodに、SQL文に埋め込むデータに変換するインスタンスメソッドを指定するこのほかにカスタムクラスには、Qualifierの条件式で比較を行うためのメソッド(==や!=など)が必要です。