PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

heroku run rake db:migrate error

Es sieht so aus, als ob Folgendes zutrifft:

  • 20120525005302_create_users.rb versucht, einen users zu erstellen Tabelle in Ihrer Datenbank.
  • 20120611000411_devise_create_users.rb wird auch versuchen, einen users zu erstellen Tabelle in der Datenbank.
  • Ihre Datenbank hat derzeit bereits einen users Tabelle darin, sodass die Migration bei der zweiten Migration fehlschlägt.

Um die users zu erhalten Tabelle in Ihrer Datenbank so, dass sie korrekt der 20120611000411_devise_create_users.rb entspricht Migration haben Sie zwei Möglichkeiten:

  1. Setzen Sie die Datenbank zurück (oder löschen Sie sie) und führen Sie dann die Migrationen erneut aus. (Sie können 20120525005302_create_users.rb löschen wenn es leer ist.)
  2. Ändern Sie Ihre 20120611000411_devise_create_users.rb Migration, um alle vorhandenen users zu löschen Tabelle, bevor Sie irgendetwas anderes tun.
  3. Ändern Sie Ihre 20120611000411_devise_create_users.rb Migration wie folgt:
    • Anstatt einen users zu erstellen Tabelle, ändern Sie die vorhandene Tabelle.
    • Datenbankkomponenten entsprechend hinzufügen und ändern

Wenn sich Ihre Anwendung in einem "Kinderstadium" befindet, ist das Neuerstellen der Datenbank im Allgemeinen eine schnelle Möglichkeit, die anfängliche Struktur einer Anwendung aufzubauen. Wenn Sie jedoch bereits wichtige Daten in Ihren users haben Tabelle, Sie sollten diese behalten und fortfahren, indem Sie 20120611000411_devise_create_users.rb ändern Migration, um die Datenbank zerstörungsfrei zu ändern.

Referenzen