railsでmodel、tableを作成する際の手順をまとめました。
table作成の流れ
-
rails g model テーブル名 カラム名:型
をコマンドに打つ→マイグレーションファイルの作成(カラムが複数の場合、間にコンマは要らない) -
rails db:migrate
をうち、マイグレーションファイルをDBに反映させる
マイグレーションファイルとは
マイグレーションファイルとはactive recordを介してDBを操作するファイルのこと。
rails db:migrateで行われている事
rails db:migrateで行なわれているのはschema_migrationsテーブルと現在のdb/migrateフォルダを比較し、未実行のものを実行する。db/migrateに入っているものは基本全て反映される。(一部だけ指定するコマンドもある)
rails g model テーブル名 カラム名:型で行なわれていること
- app/modelフォルダにモデルを記述したファイルの作成
- db/migrateにマイグレーションファイルの作成
例
rails g model Author name:string age:integer
指定できる型
- string : 文字列
- text : 長い文字列
- integer : 整数
- float : 浮動小数
- decimal : 精度の高い小数
- datetime : 日時
- timestamp : タイムスタンプ
- time : 時間
- date : 日付
- binary : バイナリデータ
- boolean : Boolean
modelの命名規則
controller名には複数形を使いmodelには単数形を用います。
model作成後にカラム追加する
まず、新しいマイグレーションを生成します。以下のコマンドを実行して、YourModelモデルに新しいカラムを追加します(your_modelはモデルの名前をスネークケースで指定し、column_nameは新しいカラムの名前を指定します)
rails generate migration AddColumnNameToYourModel column_name:data_type
上記のコマンドを実行すると、新しいマイグレーションファイルが生成されます。このファイルをテキストエディタで開いて、必要な変更を加えます。以下は、string
型の新しいカラムを追加するマイグレーションの一例です。
class AddColumnNameToYourModel < ActiveRecord::Migration[6.1]
def change
add_column :your_models, :column_name, :string
end
end
次に、マイグレーションをデータベースに適用します。以下のコマンドを実行してください。
rails db:migrate