🐭

Rails カラムの追加・削除

2023/06/09に公開

よく忘れるコマンドメモ

Migrationファイルを編集したい!ってなった時に、
なんだっけってなるので使うコマンドをメモしておきます📝

ちなみにmigrationファイルとは

migrationファイルは、テーブルの作成や変更を管理するファイルのこと。
このファイルに記述される内容によって、テーブル名やカラム名、テーブルの列などが決定します。

カラムの追加コマンド

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

カラムの削除コマンド

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

ステータスを確認

マイグレーションファイルを修正してデータベースに反映したい場合、upからdownにステータスを変更したうえで再度migrateする必要があります。

$ rails db:migrate:status

リセット

rails db:migrate:resetコマンドは、一度すべてのマイグレーションファイルをdownにして、再度すべてのマイグレーションファイルをmigrateします。
(downにするとき、テーブルは一度削除されてしまうため、テーブル内のデータが消えてしまうことに注意が必要)

$ rails db:migrate:reset

以下のような状況で使うと便利

  • 複数のマイグレーションファイルに修正が必要
  • テーブルをすべて削除し、データをリセットしたい

ロールバック

一番最後にmigrateしたマイグレーションファイルをupからdownの状態にします。

$ rails db:rollback

何か変更をデータベースに反映したい場合は、ステータスがdownになっているマイグレーションファイルを編集すること!

STEP

rollbackコマンドはSTEPを指定することで、複数のマイグレーションファイルをdownの状態にできます。

$ rails db:rollback STEP=3

ステータスをdownからupにするのを忘れずに!

$ rails db:migrate

参考にさせていただいた記事🌱

https://railsguides.jp/active_record_migrations.html#マイグレーションを実行する


migrationファイルを編集したい場合は、元のファイルを編集せずに
追加コマンドや削除コマンドでファイルを作成してから「rails db:migrate」すること。

ポートフォリオの実装に追われている&今までやったことの範囲なので
今日はざっくり、ここまでです><

Discussion