Slide 54
Slide 54 text
テーブル設計
NOT NULL制約, ユニーク制約、外部キー制約などに気をつける。
create_table :advent_calendars do |t|
t.references :user, null: false, foreign_key: { on_delete: :cascade }
t.string :name, null: false, limit: 20, index: { unique: true }
t.string :uri, null: false, limit: 20, index: { unique: true }
t.text :description
t.timestamps
end
create_table :advent_calendar_registrations do
t.references :advent_calendar, null: false, foreign_key: { on_delete: :cascade }
t.integer :day, null: false
t.string :comment, null: false, default: "", limit: 100
t.string :url, null: false, default: "", limit: 100
t.timestamps
t.index [:advent_calendar_id, :day], unique: true
end
54