テストDBだけリセットしたい(postgresql)

テストデータベースだけリセットしたい!と思うことがありました。

調べてみたところ、以下の手順でテストデータベースをリセットできるようでした!

 

①データベースをtestに切り替える

$ bin/rails db:environment:set RAILS_ENV=test 

 

 

②データベースを消す

$ bundle exec rake db:drop RAILS_ENV=test

Dropped database 'm4ware_test'

 

 

③データベースを作り直す

$ bundle exec rake db:create RAILS_ENV=test

Created database 'm4ware_test'

 

 

スキーマを読み込んでテーブルを作り直す

$ bundle exec rake db:schema:load RAILS_ENV=test

-- enable_extension("plpgsql")

   -> 0.0900s

-- create_table(".................略

 

 

これでスッキリtest環境のDBのみリセットすることができました!

database_cleaner等のgemを入れたほうがいいという記事も何個か見かけましたが、プロジェクトをあまりいじらずに自分の環境だけリセットしたかったので今回はこの方法が良い感じでした!

 

 

おまけ

test環境でコンソールを動かすときは以下のコマンドで立ち上がります!

env RAILS_ENV=test rails c