2 flat logo on transparent 256
2018-02-20

Ruby On Railsでデータベースカラムの追加と削除を行う 

Delete02

利用しないと忘れがちなRuby On Railsでデータベースへのカラム追加と削除の方法を記載します。

Ruby On Railsでデータベースへのカラム追加と削除する際の手順

データベーステーブルを作成する手順と同じように

基本的にカラム追加・削除用のマイグレーションファイルを作成し、実行という手順になります。

カラム追加のマイグレーションファイル生成

カラム追加用のマイグレーションファイルを作成する際は以下のような形で作成いたします。

rails g migration Addカラム名Toテーブル名 カラム名:型名

カラム追加用のマイグレーションファイル生成コマンド例

rails g migration AddStatusToArticles  status:integer

生成されるマイグレーションファイル

class AddDetailsToArticles < ActiveRecord::Migration
  def change
   # 以下はnull値を許可しない設定
    add_column :articles, :status, :integer, :null => false
    # 以下は5桁までの制限を設定
    add_column :articles, :title, :string, :limit => 5
  end
end

マイグレーションファイル内のadd_columnは(テーブル名, カラム名, タイプ [, オプション])と記載します。

addcolumn :articles, :titleのように、マイグレーションファイル生成後に直接addcolumnを追加しても問題ありません。

上記でマイグレーションファイルへ追加したいカラム情報を追記し、マイグレーションを実行

bundle exec rake db:migrate

カラム削除の基本構文

Removeと記載する以外は追加の場合と基本的に変わりません。

rails g migration Removeカラム名Fromテーブル名 カラム名:型名

具体的な例

rails g migration RemoveStatusFromArticles  status:integer

生成されるマイグレーションファイル

class RemoveStatusFromArticle < ActiveRecord::Migration
  def change
    remove_column :articles, :status, :integer
  end
end

remove_columnに削除したいカラム情報を記載

削除したいカラム情報を記載し、マイグレーションを実行

bundle exec rake db:migrate

その他関連記事

Ruby On Rails でデータを取得するメソッド一覧

【初心者・独学者向け】Ruby On RailsでテーブルやModelを削除する際のコマンド

Ruby On Rails4で簡易ブログを作成する1 | VIew Controller ルートを作成する

【初心者・独学者向け】Ruby On Railsで中間テーブルを作成し、多対多を実現する

Ruby On Railsのwhereで順序どおりに値を取得する

Ruby On RailsでシステムIDをbigint型に変更する

rake aborted! NoMethodError: undefined method `inet'

前の記事
次の記事