rails 技術ブログ

rails 技術ブログ

勉強したことをアウトプットしていきます

rails dbコマンド一覧

コマンド 意味
$ rails db:create config/database.ymlの内容をもとにDBを作成する
$ rails db:migrate db/migrateディレクトリにある全てのマイグレーションを実行する
$ rails db:rollback マイグレーションのバージョンを1つ下げる
$ rails db:rollback STEP=2 マイグレーションのバージョンを2つ下げる
$ rails db:migrate:status 現在のマイグレーションファイルの状態を調べる
$ rails db:drop データベースを削除する(要注意)
$ rails db:reset 一度DBを削除した後に、schema.rbを元にテーブルを再作成する
(seedデータも読み込んでくれる)
$ rails db:migrate:reset 一度DBを削除した後に、db/migrate/**.rb を元にテーブルを再作成する
(seedデータは読み込まない)
$ rails db:setup $ rails db:create $ rails db:schema:load
$ rails db:seedこの3つのコマンドを行ってくれる



rails db:migrateを複数回実行したらどうなる?

同じテーブルが作成されてしまうようなことはありません。

なぜ?
rails db:migrateを実行するとschema_migrateionsというテーブルからmigration IDを確認し、実行されていないmigrateionを見つけるとそれに対応するmigrationファイルを実行するため。



■参考にした記事

Ruby on RailsでDB(データベース)を作成する方法 | TechAcademyマガジン

【Rails】rails dbコマンドまとめ - Qiita

【Rails】マイグレーションファイルを徹底解説! | Pikawaka - ピカ1わかりやすいプログラミング用語サイト

Rails:migrateでDBをリセットして最初からつくり直す方法。 - Qiita