テーブルやカラム作成やカラム追加、カラム削除、データ型変更について書いておきます。
変更に伴い、カラムのデータ型の確認やデータ削除などの付随作業も書いておきます。
仕様 Ruby on Rails SQLite3 Ubuntu
1.テーブル作成
1.1 命名規則
命名規則(テーブル名、カラム名共通)
- 大文字を利用しない
- ローマ字ではなく英語を使用する
- 複数の単語を使う場合は_でつなげる。(hoge_example)
- 略語は使用しない(後々、何かわからなくなるため)
命名規則(テーブル名)
- 複数形を使う。(~s)
- 複数の単語を使う場合も、複数形を使用する。(hoges_examples)
命名規則(カラム名)
- ステータス(格納するデータ)を表す
- flgなどの略語を使用しない
- DATE型のカラムには名前を「受動態_on」(closed_on)
- TIMESTAMP型のカラムには名前を「受動態_at」(create_at)
1.2 データ型について
- string : 文字列
- text : 長い文字列
- integer : 整数
- float : 浮動小数
- decimal : 精度の高い小数
- datetime : 日時
- timestamp : タイムスタンプ
- time : 時間(年、月、日は変更できないデフォルト値)
- date : 日付
- binary : バイナリデータ(0,1)
- boolean : Boolean(true,false)
1.3 コマンド入力
ターミナルにて下記コマンドを入力。
rails g model User user_id:integer
rails g model テーブル名 カラム名:データ型
※モデル名は必ず最初を大文字にして、単数形にすること。
1.4 ファイル確認
db/migrate/作成日時_create_テーブル名.rb
def change
create_table :user do |t|
t.integer :user_id
t.timestamps
end
end
t.データ型 :カラム名
自動的に入力されるがされない場合もあるので注意。
1.5 コマンド入力
ターミナルにて下記コマンドを入力。
rails db:migrate
これでテーブルが作成が反映されました。
2 テーブル削除
2.1コマンド入力
ターミナルにて下記コマンドを入力。
rails d model User
rails d model テーブル名
2.2 コマンド入力
ターミナルにて下記コマンドを入力。
rails db:migrate
これでテーブルが削除を反映。
3 カラム追加
3.1 コマンド入力
ターミナルにて下記コマンドを入力。
rails g migration AddUser_idColumnsToUsers user_id:integer
rails g migration Add追加するカラム名ColunmsToテーブル名 カラム名:データ型
3.2 ファイル確認
db/migrate/作成日時_add_user_id_colunms_to_usres
def change
add_column :users, :user_id, :integer
end
add_column :テーブル名, :カラム名, :データ型
3.3コマンド入力
ターミナルにて下記コマンドを入力。
rails db:migrate
これでカラムの追加を反映。
4 カラムのデータ型確認
4.1 コマンド入力(データ型の確認)
ターミナルで下記コマンドを入力。
rails c
railsコンソールに入る。
app(dev)>User.columns_hash['user_id'].type
=> :integer
=>:データ型
これで確認できます。
5 データ型の変更
5.1 コマンド入力
ターミナルで下記コマンドを入力。
rails g migration ChangeUserIdToStringInUsers
rails g migration Changeカラム名Toデータ型Inテーブル名
5.2 ファイル確認
db/migrate/作成日時_ChangeUserIdToStringInUsers
def change
change_column :users, :user_id, :string
end
change_column :テーブル名, :カラム名, :変更後データ型
5.3 コマンド入力
ターミナルにて下記コマンドを入力。
rails db:migrate
これでカラムのデータ型の変更を反映。
参考元