Developper

  1. Home
  2. Docs
  3. Developper
  4. データベース

データベース

evolution

テーブル定義

  • idが主キー
  • id,detete_dt,dalete_flg,update_dt,create_dtは必須
  • sort_order_nrBaseMasterAccessを継承している場合は必須
  • この例はユニーク制約付き
  • datetimeにはdefault指定できるがdateにはできない。
# --- !Ups
create table テーブル名 (
  id                        integer auto_increment not null,
  delete_dt                 datetime,
  delete_flg                boolean default false not null,
  xxxx_cd                   integer not null,
  xxxx_tx                   varchar(255) not null,
  xxxx_tx                   text null,
  valid_date_dt             date null,
  sort_order_nr             smallint not null,
  update_dt                 datetime default current_timestamp on update current_timestamp not null,
  create_dt                 datetime default current_timestamp not null,
  constraint uq_m_notify_templates_notify_type_cd unique (notify_type_cd),
  constraint pk_m_notify_templates primary key (id))
;

# --- !Downs
SET FOREIGN_KEY_CHECKS=0;

drop table テーブル名 CASCADE;

SET FOREIGN_KEY_CHECKS=1;

サイト設定

INSERT INTO m_site_settings(key_tx,key_cd,data_type_cd,value_tx,note_tx,min_length_nr,max_length_nr) values
('テストトークン','DEV_TEST_TOKEN','STRING','weloveKoutaAndYouta','動作確認用テストトークン',1,256),
('メール送信可能フラグ','CAN_SEND_EMAIL_FL','INT','1','メール送信可能フラグ(1:可能 1以外:不可)',0,1),

delete from m_site_settings where key_cd = 'DEV_TEST_TOKEN';

列追加

43.sql:alter table m_providers add column publish_gallery_flg boolean default false not null after publish_flg;
44.sql:alter table t_hotel_plans add column giving_value_nr integer default 0 after stop_sell_reason_tx;
44.sql:alter table t_hotel_plans add column giving_event_cd varchar(255) after stop_sell_reason_tx;

alter table m_providers drop column 列名;

data_type_cd仕様

key_cd末尾を_FLにすると画面上では有効/無効のラジオボタンとして表示される.

ebean

落とし穴・留意点

  • Setter経由で値を設定しないとsave()/update()しても値が設定されない
    • NG例 this.name = value;
    • OK例 this.setName(value)
  • カスタムのGetterが暗黙的に実行される
    • Getter内で状態を更新するような処理をおこなうとわかりづらいバグになる

モデル定義

  • 関連(1対多,多対1,1対1)を定義できる.関連させるカラム名を指定できる(@JoinColumn
  • 関連
  • テーブル名は@Tableアノテーションで指定できる
  • ユニークキーはuniqueConstraintsで定義
  • columnDefinitionを使って型,デフォルト値等を指定できる.

Was this article helpful to you? Yes No

How can we help?