きっかけ
新しいサービスの開発をお手伝いしている時、仕様がどんどん変わり、DBの構成の変化も大きかったです。
その時テーブルのカラムの構成を変えたりすると、今あるデータをまるっと入れ替えたいことがありました。
Railsにはサクッと直してくれるコマンドがたくさんあるので、整理しておこうという感じです。
コマンド集
- テーブルを作る
rails db:migrate
- テーブルは消さずにデータだけ消す
rails db:reset
- テーブルも削除して、全てのテーブルをmigrateし直す
rails db:migrate:reset
seed.rbにある初期設定のデータセットを一括で入れる
rails db:seed
- ひとつ前のmigrationをなかったことにする
- ※migrateする時と同じmigrationファイルの状態じゃないとできない
rails db:rollback
→これを使う時は、
rails db:rollback
- migrationファイルを修正
rails db:migrate
する
の順にやらないとエラーになる
rollbackが使えない時
よく使うデータや重要な検証ケースのデータをseedに書く
rails db:migrate:reset
をするrails db:migrate
をする- seedを流す
※rails db:migrate:resetはMySQLでいうdrop tableなので、以前のmigrationファイルがどうなっているかは関係なく実行できる
※seedに書かれたデータ以外はすべてなくなるので注意
最後に
今日は簡単によく使うDB関連のコマンドをメモ的にまとめました。
自分のアプリケーションもいつか作ってみたいので、その時に活用できそうかな。