だから、私はRailsアプリでHeroku Postgresを使用していますが、Heroku自体でアプリをホストしていません。次のようになります。
development:
adapter: postgresql
encoding: unicode
pool: 5
database: [database]
username: [username]
password: [password]
Host: ec2-54-227-243-78.compute-1.amazonaws.com
port: 5432
しかし、今では、データベースをすべてのモデルでセットアップできるように、db:migrateでアプリをrakeしようとしています。そのコマンドを実行しても何も実行されないので、rake db:reset
と私はこれを得る:
Couldn't drop df2cokjfj0k4vu : #<PG::Error: FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
df2cokjfj0k4vuはすでに存在します
-initialize_schema_migrations_table()
-> 1.3997s
-assume_migrated_upto_version(20130924040351、["/ home/action/braindb/db/migrate"])
-> 0.0882s
私が間違っていることは何でも考えてください。 Railsはまだかなり新しいので、ホストを移行するときにPostgresデータベースを適切にセットアップする方法を忘れることがあります。
https://devcenter.heroku.com/articles/rake に記載されているように、代わりにheroku pg:reset DATABASE
を使用します
ユーザーには権限がないため、rake db:reset
でHerokuにデータベースを削除することはできません。
PGデータベースを削除できません Herokuで。
最近この問題が発生し、次の手順で解決しました。
heroku pg --help
は、postgresを使用するためのコマンドの名前を取得します
heroku pg:reset DATABASE
#データベースをリセットします
プロンプトに答えて確認します
同じ問題がありました。次を実行して修正しました:
heroku pg:reset DATABASE
(注:上記のようにDATABASEを指定する必要があります)
他の人と同様に、私は同様の問題を抱えていましたが、pg:reset
を実行しても助けにはなりませんでした。そこで、user does not have CONNECT privilege
問題に遭遇しました。
1)heroku pg:reset
確認のためにプロジェクト名を入力するよう求められます。
2)から Herokuのドキュメント run heroku rake db:schema:load
私のアプリの1つでは、Herokuデータベースの最初の有料ティアへのアップグレードがうまくいくようでした: https://devcenter.heroku.com/articles/upgrade-heroku-postgres-with-pgbackups#provision-新計画
理由は、次のように「heroku pg:info」が行の制限を超えていることを明らかにしたからです:行:12392/10000(書き込みアクセスが取り消されました)