Poussez la base de données à heroku: comment utiliser heroku pg:push
Je veux pousser mon local de base de données postgresql à heroku, à l'aide de heroku pg:push
de commande. La commande ressemble à ceci: heroku pg:push mylocaldb DATABASE --app sushi
selon le heroku document: https://devcenter.heroku.com/articles/heroku-postgresql.
Voici ma base de données locale info:
Name: mysitedb
User: bill
Password: bill
La DATABASE_URL variable d'environnement dans mon ordinateur: postgres://bill:bill@localhost/mysitedb
.
Mon le nom de l'application est secure-gorge-4090
. J'ai essayé heroku pg:push mysitedb DATABASE --app secure-gorge-4090
. La sortie a été:
! Remote database is not empty.
! Please create a new database, or use `heroku pg:reset`
J'ai été surpris de voir que j'ai rien mis dans ma BASE de données. Mais j'ai toujours couru heroku pg:reset DATABASE
pour réinitialiser ma BASE de données. Après cela, j'ai essayé heroku pg:push mysitedb DATABASE --app secure-gorge-4090
de nouveau mais le résultat était toujours le même.
J'ai essayé heroku pg:push postgres://bill:bill@localhost:8000/mysitedb DATABASE --app secure-gorge-4090
. La sortie a été:
! LOCAL_SOURCE_DATABASE is not a valid database name
Je ne sais pas comment utiliser cette commande pour déplacer ma base de données locale pour heroku. J'ai besoin de votre aide. Merci!
OriginalL'auteur Yang Wenhao | 2013-10-21
Vous devez vous connecter pour publier un commentaire.
Êtes-vous réellement en tapant dans le jeton
DATABASE
dans vos commandes, ou est-ce un espace réservé que vous utilisez pour cette question? À partir de la docs-vous liés à:Lorsque vous ne
heroku config -a secure-gorge-4090
, vous devriez voir une entrée pourHEROKU_POSTGRESQL_[SOME COLOR NAME]
. Assurez-vous que vous utilisez quoi que ce jeton est au lieu deDATABASE
dans vos commandes.Puisque vous avez un nom d'utilisateur et le mot de passe de votre base de données locale, vous devez aussi faire la part mentionné au sujet de
PGUSER
etPGPASSWORD
. Voici l'exemple de lapg:pull
docs:De sorte que vous devriez faire quelque chose comme:
DATABASE
dans mes commandes. En fait,DATABASE
est déjà ma base de données par défaut --HEROKU-POSTGRESQL-VIOLET
. Donc les commandesheroku pg:push mysitedb DATABASE --app secure-gorge-4090
etheroku pg:push mysitedb HEROKU-POSTGRESQL-VIOLET --app secure-gorge-4090
devrait avoir le même effet. En suivant vos conseils, j'ai créé une nouvelle base de données nomméeHEROKU_POSTGRESQL_COBALT
et essayéPGUSER=bill PGPASSWORD=bill heroku pg:push mysitedb HEROKU_POSTGRESQL_COBALT --app secure-gorge-4090
, mais la même erreur s'est produite.Quelle erreur? Vous évoquez une "base de données Distante n'est pas vide d'erreur" et un "LOCAL_SOURCE_DATABASE n'est pas valide d'un nom de base de données d'erreur".
"Base de données distante n'est pas vide" erreur.
Avez-vous d'exécuter un pg:reset sur HEROKU_POSTGRESQL_COBALT?
merci, quand je lance "heroku config:get-sécurisé-gorge-4090" je avoir un les arguments manquants exception-bien sûr, je suis avec mon propre nom de l'application
OriginalL'auteur carols10cents
Je sais que c'est un vieux débat, mais j'ai eu exactement le même problème. Si ce n'est pas tout à fait aussi pratique, j'ai réussi à obtenir ce par le biais d'pg:les sauvegardes à la place.
C'est détaillée assez bien sur le heroku site de support
Commencer par installer la gratuit pgbackups addon:
Puis sauvegarde de la base de données à l'aide de votre local utilitaire pg_dump (inclus dans PostGreSQL distribution)
Ensuite placer ce fichier de vidage quelque part URL addressible (par exemple, Dropbox) et exécutez le heroku importation(assurez-vous que c'est des guillemets doubles pour Windows):
Deux choses à noter: ATTENTION:
heroku addons:add
a été désapprouvée. Veuillez utiliserheroku addons:create
à la place. ! Impossible de trouver le service ou le complément du régime de "pgbackups".OriginalL'auteur Hamish
Vous avez besoin de la commande suivante
assurez-vous que vous avez entré corriger postgres nom d'utilisateur et le mot de passe
OriginalL'auteur Apoorv