Heroku run rake db: migrieren führt zu keiner Änderung in der Datenbank, App mehrmals neu gestartet

Ich habe ein Problem beim Übertragen meiner Migrationen in die Produktionsdatenbank.

Die Angelegenheit:

Ich habe das Datenbankschema durch Hinzufügen einer Spalte geändert.

Ich habe es in die Produktionsdatenbank migriert:

MacBook-Air-Mac: App msc $ rake Datenbank: migrate RAILS_ENV = "production" [RailsAdmin] Die RailsAdmin-Initialisierung ist standardmäßig deaktiviert. Übergeben Sie bei Bedarf SKIP_RAILS_ADMIN_INITIALIZER = false. == AddLengthColumnToBooks: Migration ========================================== - add_column ( : books,: length,: integer) -> 0.0017s == AddLengthColumnToBooks: migrated (0.0019s) ============================== ====

In der Annahme, dass das neue DB-Schema jetzt in Produktion ist, habe ich den Code bereitgestellt, der einige Dinge erledigt:length.

In der Produktion habe ich folgenden Fehler erhalten:

undefinierte Methode `length = 'für #

Ich tatheroku rollback und die App auf die neueste zuverlässige Version heruntergestuft.

DANN (wahrscheinlich ein bisschen zu spät) habe ich herausgefunden, dass ich mussheroku restart die App zum Laden der neuen Indizes. Ich habe das mehrmals gemacht.

Ich öffnete dann die Konsole und überprüfteBook.column_names, aber es gab keinelength

Ich tatheroku run rake db:migrate gefolgt vonheroku restart noch einmal, keine Veränderung.

Ich habe versucht, eine andere Spalte in die Produktionsdatenbank zu migrieren, aber überhaupt keine Nachricht erhalten, nicht einmal die von Seite 2.

Was mache ich hier falsch?

Aktualisieren

Basierend auf den Antworten vonPhilipeIch habe eine Reihe zusätzlicher Schritte ausgeführt:

git add db/schema.rb, git add db/migrate/20130325103953_add_length_column_to_books.rb und 'git add db / migrate / 20130401041910_add_duration_column_to_books.rb'. Git antwortete:

Zu übermittelnde Änderungen: (Verwenden Sie "git reset HEAD ...", um die Bühne zu verlassen.)

Neue Datei: db / migrate / 20130325103953_add_length_column_to_books.rb Neue Datei: db / migrate / 20130401041910_add_duration_column_to_books.rb Geändert: db / schema.rb

Dann habe ich getangit commit -m "Updating the schema".

Wieder war die Ausgabe:

 3 files changed, 168 insertions(+), 156 deletions(-)

Erstellungsmodus 100644 db / migrate / 20130325103953_add_length_column_to_books.rb Erstellungsmodus 100644 db / migrate / 20130401041910_add_duration_column_to_books.rb

Dann renne ichheroku run rake db:migrate. Leider gab es keine Anzeichen von Migrationen, bekam einfach:

Laufenrake db:migrate am terminal angeschlossen ... bis, run.5428 und das wars.

In der Produktions-Rails-Konsole wird ausgeführtBook.column_names Es fehlt immer noch an Länge und Dauer.

Jetzt habe ich noch mehr Ideen. `

Antworten auf die Frage(4)

Ihre Antwort auf die Frage