Ruby
MySQL

らぼ開発メモ:ローカルに共通のDB作成

作成するテーブル

users

担当者の匙加減

meetings

Field Type Null Key Default Extra
id bigint(20) NO PRI NULL auto_increment
title varchar(255) YES NULL
times int(11) YES NULL
room varchar(255) YES NULL
started_at datetime YES NULL
closed_at datetime YES NULL
remarks text YES NULL
deleted_at datetime YES NULL
created_at datetime NO NULL
updated_at datetime NO NULL

presenters

まだ要検討、特にファイルアップロード。

Field Type Null Key Default Extra
id bigint(20) NO PRI NULL auto_increment
user_id bigint(20) YES MUL NULL
title varchar(255) YES NULL
filename1 varchar(255) YES NULL
filepass1 varchar(255) YES NULL
filename2 varchar(255) YES NULL
filepass2 varchar(255) YES NULL
filename3 varchar(255) YES NULL
filepass3 varchar(255) YES NULL
filename4 varchar(255) YES NULL
filepass4 varchar(255) YES NULL
meeting_id bigint(20) YES MUL NULL
created_at datetime NO NULL
updated_at datetime NO NULL

atendees

Field Type Null Key Default Extra
id bigint(20) NO PRI NULL auto_increment
user_id bigint(20) YES MUL NULL
meeting_id bigint(20) YES MUL NULL
created_at datetime NO NULL
updated_at datetime NO NULL

migration

migration生成

$ rails g migration create_テーブル名

MeetingSystem/db/migrateにできたrbファイルに以下をコピペ。

0000_create_meetings.rb
class CreateMeetings < ActiveRecord::Migration[5.1]
  def change
    create_table :meetings do |t|
      t.string :title
      t.integer :times
      t.string :room
      t.datetime :started_at
      t.datetime :closed_at
      t.text :remarks
      t.datetime :deleted_at

      t.timestamps
    end
  end
end
0000_create_atendees.rb
class CreateAtendees < ActiveRecord::Migration[5.1]
  def change
    create_table :atendees do |t|
      t.references :user
      t.references :meeting

      t.timestamps
    end
  end
end

その後マイグレート。

$ rails db:migrate