rails で カラムと追加・削除・変更(名前、データ型)する

カラムの追加

$ rails g migration add_title_to_stallions title:string
class AddTitleToStallions < ActiveRecord::Migration[5.1]
  def change
    add_column :stallions, :title, :string
  end
end  

カラムの削除

$ rails g migration remove_title_to_stallions title
class RemoveTitleToStallions < ActiveRecord::Migration[5.1]
  def change
    remove_column :stallions, :title, :string
  end
end

カラムのかた変更

$ rails g migration change_title_to_stallions

change メソッドの中はからなので以下のように、stallionモデルの、titleカラムにたいして
integerを指定する。

class ChangeTitleToStallions < ActiveRecord::Migration[5.1]
  def change
    change_column :stallions, :title, :integer
  end
end

カラムの名前変更

$ rails g migration rename_title_to_stallions

作成されたファイルは空なので、ファイルに対して rename_column で、
対象のモデル(stallions)の対象のカラム(title)に対して、変更したい舐め(taitoru)を指定する。

class RenameTitleToStallions < ActiveRecord::Migration[5.1]
  def change
    rename_column :stallions, :title, :taitoru
  end
end

“undefined method `paginate’ for #“が出てページャーが使えない

rails サーバーを再起動することでこのエラーが出なくなりました。

サーバーが残っちゃっているときは強制的に停止するのもアリです。

$ ps aux | grep rails
hoge    5770  0.2  1.7 1289124 210076 pts/2  Sl+  11:19   0:07 /home/hoge/.rbenv/versions/2.2.4/bin/ruby bin/rails s -b 153.122.58.6
hoge    7988  0.0  0.0 103240   860 pts/4    S+   12:02   0:00 grep rails
$ kill -KILL 5770

/