はじめに
Railsアプリを開発していて、開発環境のDBをリセットするのに
rake db:reset や rake db:migrate:resetを行うことがあるが、
これがサービスリリース前や、ステージグ環境のheroku環境上で実行すると
実行するとこんな権限エラーが出る
FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
これを解決する方法を紹介する
前提条件
- Ruby(動作確認はv2.2.3)
- Railsアプリ(動作確認はRails4.2.5)
- DBMSはherokuのpostgresを使用
実行コマンド
リセットコマンド
> heroku pg:reset DATABASE_URL -a YOUR_APP_NAME
リセットに成功したら、マイグレーションを実行することが出来る
heroku rake db:migrate -a YOUR_APP_NAME
その後seedファイルの入力したり、seed_fuをしたりできる
heroku run rake db:seed -a YOUR_APP_NAME