2018-02-20
2020-05-26
Ruby on Railsでデータベースカラムの追加と削除を行う

利用しないと忘れがちな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でテーブルやModelを削除する際のコマンド
Ruby on Rails4で簡易ブログを作成する1 | VIew Controller ルートを作成する
【初心者・独学者向け】Ruby on Railsで中間テーブルを作成し、多対多を実現する
Ruby on Railsのwhereで順序どおりに値を取得する
Ruby on RailsでシステムIDをbigint型に変更する
あなたにお勧めの記事
前の記事
次の記事
2018/02/22