RubyOnRailsのテーブルに変更を加える方法

RubyOnRailsのテーブルの作り方

RubyOnRailsのテーブルを作成するには、

 $ rails g model テーブル名 カラム名:データ型 と記述します。

このときマイグレーションファイルが自動作成されます。

マイグレーションファイルの中身は以下のような感じになっています。↓

class CreatePosts < ActiveRecord::Migration[5.0]
  def change
    create_table :posts do |t|
      t.text :content

      t.timestamps
    end
  end
end

railsコマンドでrails g modelを実行するとマイグレーションファイルのchangeメソッドにテーブルを作成する構文が自動的に記述されます。

次ぐに $rails db:migarate を実行するとテーブルが作成されます。

作成済みのテーブルに変更を加える方法

railsで作成したテーブルにカラムを追加したいといったことがでてくると思います。

テーブルに変更を加えるにはマイグレーションファイルを新に作成します。

 $rails g migration ファイル名 コマンドを実行するとマイグレーションファイルが作成されます。

このときマイグレーションファイルのchangeメソッドの中身が空になっています↓

class AddImageNameToUsers < ActiveRecord::Migration[5.0]
  def change
  end
end

空のchangeメソッドにカラムを追加する構文を記述します。カラムを追加するには add:columnを使用します。

 add_column :テーブル名, :カラム名, :データ型 と記述します。

class AddImageNameToUsers < ActiveRecord::Migration[5.0]
  def change
    add_column :users, :image_name, :string
  end
end

changeメソッドにカラムを追加する構文を書き終わったら、

ターミナルで $rails db:migrate コマンドを実行します。これでテーブルにカラムが追加されま
す。

Railsのテーブルに変更を加える方法まとめ

  1. ターミナルで$rails g migrationコマンドを実行しカラム追加用のマイグレーションファイルを作成する
  2. マイグレーションファイルchangeメソッドに add:column 構文を記述する
  3. changeメソッドの定義が済んだらターミナルで$rails db:migrateを実行し変更を反映する

以上です。