やる気がストロングZERO

やる気のストロングスタイル

【Rails】migrationコマンド周りまとめ

参考)Active Record マイグレーション - Rails ガイド

$ bin/rails db:migrate
最新状態までマイグレートする
$ bin/rails db:migrate VERSION=20080906120000
指定のバージョンまでマイグレートする
$ bin/rails db:rollback
一つ前に戻す
$ bin/rails db:rollback STEP=3
3つ前に戻す
$ bin/rails db:migrate:redo STEP=3
3つ前に戻して再度migrationを実行しなおす
$ bin/rails db:reset
DBをdropして再度設定する
$ bin/rails db:drop db:setup
と同等

↑※マイグレーションを再実行しているのではなく、schema.rbから反映しているだけ。
※schema.rbにはトリガーなどの情報は保持されていないので、それらが必要な場合はsqlでダンプしておく必要がある。
参考)
Active Record マイグレーション - Rails ガイド

$ bin/rails db:migrate:up VERSION=“0080906120000
$ bin/rails db:migrate:down VERSION=“0080906120000
特定のバージョンのマイグレーションを指定の方向に実行する
$ bin/rails db:migrate RAILS_ENV=test
テスト用DBに対して実行
$ rails db:seed
db/seeds.rbに定義されたシードデータを入れる。

スキーマダンプ

$ bin/rails db:structure:dump
sqlでテーブル構造のダンプを取る