Je voulais utiliser une base de données externe avec mon application heroku. Mais je ne peux pas modifier les cariables de configuration. J'ai essayé d'utiliser l'interface graphique, ce qui dit, Impossible d'écraser les valeurs des pièces jointes DATABASE_URL. Pendant que j'essayais d'utiliser CLI également. J'ai utilisé la commande: heroku config:addDATABASE_URL="postgresql://username:password@IP:PORT"
. Cependant, cela génère une erreur ... is not a heroku command.
Après avoir essayé la plupart de ces réponses, je suis tombé sur une mise à jour en 2016, ici : la base de données doit d'abord être détachée, puis mettre à jour la variable de DATABASE_URL.
heroku addons:attach heroku-postgresql -a <app_name> --as HEROKU_DATABASE
heroku addons:detach DATABASE -a <app_name>
heroku config:add DATABASE_URL=
Une méthode alternative qui ne nécessite pas de détachement (ce qui n'est peut-être pas le résultat souhaité du commutateur) consiste à simplement attacher la nouvelle base de données, puis à la promouvoir, ce que les Heroku Documents indiquent explicitement comme un moyen de définir les DATABASE_URL
.
heroku addons:attach heroku-postgresql -a <app_name>
heroku pg:promote heroku-postgresql -a <app_name>
Comme expliqué dans cet article , la syntaxe correcte pour définir/ajouter une variable de configuration est
$ heroku config:set DATABASE_URL="postgresql://username:password@IP:PORT"
Cependant, il ressemble (voir les commentaires) au DATABASE_URL
est obsolète et la tentative de mise à jour déclenchera une erreur.
J'ai eu la même situation aujourd'hui quand je dois changer postgres
en postgis
. Détacher ne fonctionne pas pour moi, donc je l'ai fait pour database.yml
:
production:
url: <%= ENV['DATABASE_URL'].sub(/^postgres/, "postgis") %>
https://github.com/rgeo/activerecord-postgis-adapter/issues/214 .
Sur la base des Heroku docs c'est ainsi que vous partageriez une base de données avec plusieurs applications.
heroku addons:attach my-originating-app::DATABASE --app sushi
Résolu. Juste pour la référence des utilisateurs qui ont le même problème ou qui souhaitent avoir une implémentation similaire. Voici la solution de contournement qui a fonctionné pour moi.
Heroku n'écrase plus databse.yml, donc je viens de modifier le DATBASE_URL dans le database.yml et je l'ai poussé :)
Ça a marché aussi!
Source: https://discussion.heroku.com/t/Rails-4-1-database-yml-no-longer-overwritten-on-heroku/55