PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

heroku run rake db:erreur de migration

Il semble que ce qui suit est vrai :

  • 20120525005302_create_users.rb tentera de créer un users table dans votre base de données.
  • 20120611000411_devise_create_users.rb tentera également de créer un users table dans la base de données.
  • Votre base de données a actuellement déjà un users table dedans, de sorte que la migration échoue lors de la deuxième migration.

Pour obtenir les users table dans votre base de données pour correspondre correctement au 20120611000411_devise_create_users.rb migration, vous pouvez effectuer l'une des deux actions suivantes :

  1. Restaurer (ou supprimer) la base de données, puis relancer les migrations. (Vous pouvez supprimer le 20120525005302_create_users.rb s'il est vide.)
  2. Modifiez votre 20120611000411_devise_create_users.rb migration pour supprimer tous les users existants table avant de faire quoi que ce soit d'autre.
  3. Modifiez votre 20120611000411_devise_create_users.rb migration comme suit :
    • Au lieu de créer un users table, modifiez la table existante.
    • Ajouter et modifier des composants de base de données pour correspondre

Généralement, si votre application est dans un "état naissant", la recréation de la base de données tend à être un moyen rapide de construire la structure initiale d'une application. Cependant si vous avez déjà des données importantes dans vos users table, vous voudrez conserver cela et continuer en modifiant le 20120611000411_devise_create_users.rb migration pour modifier la base de données de manière non destructive.

Références