2017-07-06 3 views
2

Nach dem Upgrade von Rails 3 auf Rails 4 ist die Task db:schema:load fehlgeschlagen. Ich habe etwas hineingegraben und festgestellt, dass nach dem Upgrade, wenn ich bundle exec rake db:schema:load ausführen die Datei db/schema.rb wird zweimal geladen wird. Das erste Mal läuft es gut; dann scheitert das zweite Mal aufgrund eines create_table force: true aufgrund einer Abhängigkeitsbeschränkung für die Tabelle.Rake db: Schema: Laden lädt Schema.rb mehrmals?

Ich habe jede zusätzliche Rake-Aufgabe entfernt und verbessert, um zu versuchen, meinen Code auszublenden, aber das lädt immer noch das Schema.rb zweimal. Es ist immer genau zweimal, da ich es erfolgreich auf SQLite ausführen kann und das gleiche Verhalten dort sehe, aber es wird vollständig ausgeführt, da SQLite die Tabellenbeschränkungen nicht erzwingt.

+0

Ich sehe das in Rails 5, aber nur in der Entwicklungsumgebung. RAILS_ENV = Test funktioniert gut. –

Antwort

0

Sie können prüfen, ob Ihr Rakefile Aufgaben nicht zweimal lädt. Wenn Rake eine Aufgabe mit demselben Namen wie eine vorhandene Aufgabe registriert, wird sie beide nacheinander ausgeführt, anstatt die alte durch die neue zu ersetzen.

Verwandte Themen