rails migrate直後でカラムの名前を変更したいとき

カラム追加したら名前を間違えた。

カラム追加からmigrateまで

マイグレーションファイル作成のコマンドはこんな感じ

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

20200506031358_ファイル名.rb

class Addカラム名Toテーブル名 < ActiveRecord::Migration[5.0]
  def change
    add_column :toilet, :jitaku_entered_at, :datetime, :after => :kaisya_entered_at
  end
end

:after使えば、どのカラムの後ろにつけるか指定できて便利

migrateする

$ rails db:migrate

migrate取消

最新のmigrateがどこまでされているか確認

$ rails db:version
Current version: 20200506031358

20200506031358まで、実行されている(今回migrateしたばかりのファイル)

次にmigrateを戻したいとこまでロールバックする(今回は一つ前まで)

$ rails db:rollback

複数のmigrationファイルのmigrateを取り消したいなら

$ rails db:rollback STEP=ファイル数

ファイル数にはそのまま数字を入れたらできます

migrateされていないファイルを確認

$ rails db:abort_if_pending_migrations

20200506031358がmigrarteされていませんってメッセージが来ます

migrationファイル修正、migrateし直す

migrationファイルの該当箇所を修正したら、、、

migrate実行

$ rails db:migrate