J'utilise donc Heroku Postgres dans mon application Rails, mais je n'héberge pas mon application sur Heroku même. J'ai utilisé les détails de connexion Active Record de Heroku dans mon database.yml, et cela ressemble à ceci:
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
Cependant, j'essaie maintenant de rake db: migrer mon application pour que la base de données soit entièrement configurée avec mes modèles. L'exécution de cette commande ne fait rien, alors j'ai essayé rake db:reset
et je reçois ceci:
Couldn't drop df2cokjfj0k4vu : #<PG::Error: FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
df2cokjfj0k4vu existe déjà
- initialize_schema_migrations_table ()
-> 1.3997s
- assum_migrated_upto_version (20130924040351, ["/ home/action/braindb/db/migrate"])
-> 0.0882s
Toute idée de ce que je fais mal. Rails étant encore un peu novice, j'oublie parfois comment configurer correctement ma base de données Postgres lors de la migration d'hôtes.
Utilisez plutôt heroku pg:reset DATABASE
comme indiqué dans https://devcenter.heroku.com/articles/rake
Vous ne pouvez pas supprimer des bases de données dans Heroku avec rake db:reset
car l'utilisateur ne dispose d'aucun privilège.
Vous ne pouvez pas supprimer votre base de données PG sur Heroku.
J'ai récemment eu ce problème et résolu par les étapes suivantes.
heroku pg --help
obtient le nom des commandes pour utiliser postgres
heroku pg:reset DATABASE
# réinitialise la base de données
Répondez à l'invite pour confirmer
J'ai eu le même problème. Je l'ai corrigé en exécutant:
heroku pg:reset DATABASE
(note: il faut spécifier DATABASE comme ci-dessus)
Pour l'une de mes applications, la mise à niveau vers le premier niveau payé d'une base de données Heroku semblait fonctionner pour moi: https://devcenter.heroku.com/articles/upgrade-heroku-postgres-with-pgbackups#provision-new- plan
La raison en est que 'heroku pg: info' a révélé que j'étais au-dessus de ma limite de lignes, comme indiqué ci-dessous: Rangées: 12392/10000 (accès en écriture révoqué)
Comme d’autres, j’ai eu un problème similaire, mais exécuter pg:reset
n’a pas aidé: c’est là que j’ai rencontré le problème user does not have CONNECT privilege
.
1) heroku pg:reset
vous serez invité à entrer le nom du projet pour confirmer.
2) À partir de Docs Heroku run heroku rake db:schema:load