Ruby on Railsでは、マイグレーションファイルを作成するための一般的なコマンドは次のようになります。
rails generate migration MigrationName
このコマンドでは、MigrationName
は作成するマイグレーションの名前です。これには一部の規則があり、まとめていきます。
基本的な規則
-
パスカルケース(UpperCamelCase):マイグレーション名はパスカルケース(すべての単語の最初の文字は大文字で、スペースなし)で書きます。例えば、
AddColumnToTable
またはRemoveColumnFromTable
のようになります。 -
動詞始まり:マイグレーション名は行う操作の動詞から始めるのが一般的です。例えば、
Add
,Remove
,Change
などです。 -
自明性:マイグレーション名は、そのマイグレーションが何をするのかを明確に示すべきです。例えば、
AddAgeToUsers
は “users” テーブルに “age” カラムを追加することを示します。
特定のコマンド
-
AddColumnToTable
:テーブルに新しいカラムを追加します。例:rails generate migration AddAgeToUsers age:integer
-
RemoveColumnFromTable
:テーブルからカラムを削除します。例:rails generate migration RemoveAgeFromUsers age:integer
-
CreateTable
:新しいテーブルを作成します。例:rails generate migration CreateUsers name:string email:string
-
DropTable
:テーブルを削除します。
テーブル作成時
コマンド
rails g migration CreateTasks name:string content:text
出力されるファイル
class CreateTasks < ActiveRecord::Migration[5.2]
def change
create_table :tasks do |t|
t.string :name
t.text :content
end
end
テーブルのカラム名変更
コマンド
rails g migration RenameFromStateToTasks
出力されるファイル
class RenameFromStateToTasks < ActiveRecord::Migration[5.2]
def change
#[形式]rename_column(テーブル名,変更前のカラム名,変更後のカラム名)
rename_column :tasks,:state,:status
end
end