PGメモ

非エンジニアの記録

【Ruby on Rails】カラムを追加する

やり方は2つ

1. migrationファイルを書く
2. コマンドを書いてmigrationファイルを自動生成

1. migrationファイルを書く場合

/db/migrate/以下にタイムスタンプ(西暦、月、日、時、分、秒)_行う処理.rb
を作ります。

そこに処理を記述していきます。

使えるメソッド

create_table
drop_table
change_table
rename_table
add_column
rename_column
change_column
remove_column
add_index
remove_index
remove_index

例:

class AddColumnToUses < ActiveRecord::Migration
  def up
    add_column :users, :additional_column, :string
  end
end

userテーブルにadditional_columnをstringで追加します。


2. コマンドを書いてmigrationファイルを自動生成する場合

下記コマンドを打つとmigrationファイルが生成されます

# rails g migration add_released_on_to_users additional_column:string
add_released_on_to_<tablename>

ここでテーブルを指定しますが、複数形になることに注意です

こんな感じ

<APP_ROOT>/db/migrate/タイムスタンプ(西暦、月、日、時、分、秒)_行う処理名.rb

中身は

class AddReleasedOnToUsers < ActiveRecord::Migration
  def change
    add_column :users, :additional_column, :string
  end
end

最後はmigrate

# bundle exec rake db:migrate

未実行のmigrateファイルが実行されます。