Je travaille sur une webapp Ruby on Rails 3 sur Heroku. Comment vider la base de données?
la source
Je travaille sur une webapp Ruby on Rails 3 sur Heroku. Comment vider la base de données?
Pour supprimer la base de données, si vous utilisez SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
Maintenant, pour recréer la base de données sans rien:
$ heroku run rake db:migrate
Pour remplir la base de données avec vos données de départ:
$ heroku run rake db:seed
---OU---
Vous pouvez combiner les deux derniers ( migrer et amorcer ) en une seule action en exécutant ceci:
$ heroku run rake db:setup
Edit 18/04/2014: rake db:setup
ne fonctionne pas avec Rails 4, il échoue avec unCouldn't create database error
.
Edit 2014-10-09: Vous pouvez utiliser rake db:setup
avec Rails 4. Cela vous donne une Couldn't create database
erreur (car la base de données a déjà été créée à l'aide de la heroku pg:reset
commande). Mais il charge également votre schéma de base de données et vos graines après le message d'erreur.
Vous pouvez le faire avec à peu près n'importe quelle commande rake, mais il existe des exceptions. Par exemple, db:reset
ne fonctionne pas via heroku run rake
. Vous devez utiliserpg:reset
place.
Plus d'informations peuvent être trouvées dans la documentation de Heroku:
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
Heroku a déprécié l'
--db
option maintenant, alors maintenant utilisez:C'est un peu déroutant car vous utilisez le texte littéral
SHARED_DATABASE
mais où j'ai écrit{the name of your app}
remplacez le nom de votre application. Par exemple, si votre application s'appelle my_great_app, vous utilisez:la source
SHARED_DATABASE
Pour supprimer la base de données:
Pour recréer la base de données:
Pour amorcer la base de données:
**Dernière étape
la source
heroku run rake db:migrate
ne recrée plus la base de donnéesLe courant, c'est-à-dire. Voici comment 2017:
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
la source
heroku run rake db:migrate db:seed
Maintenant, la commande est
de cette façon, vous pouvez spécifier la base de données de l'application que vous souhaitez réinitialiser. Ensuite, vous pouvez exécuter
ou direct pour les deux commandes ci-dessus
Et maintenant, dernière étape pour redémarrer votre application
la source
J'ai contacté le support Heroku, et ils ont confirmé qu'il s'agit d'un bug avec la dernière gemme (j'utilise heroku-2.26.2)
Rétrograder avec les commandes suivantes:
Si vous avez déjà installé plusieurs gemmes, il se peut que l'on vous présente:
Désinstallez simplement # 2 et relancez la commande. Joie!
la source
Le complet réponse est (pour les utilisateurs multi-db):
heroku pg: info - qui sort
heroku pg: reset HEROKU_POSTGRESQL_RED --confirm app_name
Plus d'informations sur: https://devcenter.heroku.com/articles/heroku-postgresql
la source
Maintenant, c'est différent avec heroku. Essayez: Heroku pg: réinitialiser la base de données - confirmer
la source
Aujourd'hui la commande
ne fonctionne pas pour les plans partagés, je suis résolu à l'aide
la source
Connectez-vous à votre base de données en utilisant
heroku pg:psql
et tapez les commandes suivantes:la source
Maintenant, il est également possible de réinitialiser la base de données via leur interface Web.
Accédez à dashboard.heroku.com, sélectionnez votre application, puis vous trouverez la base de données dans la catégorie des modules complémentaires, cliquez dessus et vous pourrez réinitialiser la base de données.
la source
Vérifiez votre version de Heroku. Je viens de mettre à jour le mien vers 2.29.0, comme suit:
Vous pouvez maintenant exécuter:
Créez ensuite votre base de données et insérez-la dans une seule commande:
Maintenant, redémarrez et essayez votre application:
la source
C'est ce qui a fonctionné pour moi.
1. clair db.
Après avoir exécuté cela, vous devrez saisir à nouveau le nom de votre application pour confirmer.
2. migrez db pour recréer.
3. ajoutez les données de départ à db.
la source
Si vous préférez utiliser le site Web Heroku:
la source
En supposant que vous souhaitiez réinitialiser votre base de données PostgreSQL et la reconstituer, utilisez:
pour lister vos applications sur Heroku. Recherchez le nom de votre application actuelle (
application_name
). Ensuite, exécutezpour obtenir le nom de vos bases de données. Un exemple pourrait être
Enfin, étant donné
application_name
etdatabase_url
, vous devez exécuterla source
Si vous êtes connecté à partir de la console, cela fera le travail dans la dernière ceinture d'outils Heroku,
heroku pg: reset --confirm nom-base de données
la source
Je fais toujours cela avec le one-liner 'heroku pg: reset DATABASE'.
la source
La meilleure solution pour votre problème sera
n'est pas requis, mais le terminal me demande toujours d'exécuter cette commande.
Après cette commande, vous aurez une base de données pure, sans structure ni éléments, après quoi vous pourrez exécuter
ou
la source