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. `