##
## テーブル定義ファイル
##

## カラムのデフォルト値
defaults:
  columns:
    - name:       id
      desc:       ID
      type:       integer
      primary-key: yes
      serial:     yes
  
    - name:       name
      desc:       名前
      type:       string
      not-null:   yes
      width:      63
  
    - name:       desc
      desc:       摘要
      type:       string
  
    - name:       created_on
      desc:       作成時刻
      type:       timestamp
      not-null:   yes
  
    - name:       updated_on
      desc:       更新時刻
      type:       timestamp
      not-null:   yes

### テーブル定義
tables:
  - name:         groups
    class:        Group
    desc:         グループマスターテーブル
    columns:
      - &groups-id
        name:     id
        desc:     グループID
      - name:     name
      - name:     desc
      - name:     created_on
      - name:     updated_on

  - name:         users
    class:        User
    desc:         ユーザマスターテーブル
    columns:
      - &users-id
        name:     id
        desc:     ユーザID
      - name:     name
      - name:     desc
      - name:     email
        desc:     メールアドレス
        type:     string
        width:    63
        not-null: yes
      - name:     group_id
        desc:     所属するグループのID
        ref:      *groups-id
        not-null: yes
      - name:     age
        desc:     年齢
        type:     integer
      - name:     gender
        desc:     性別
        type:     string
        width:    1
        enum:
          - M
          - F
      - name:     created_on
      - name:     updated_on
