2016-07-21 5 views

Antwort

1

Sie können versuchen;

rake db:schema:load

+0

Versuchen Sie, für alle Fälle einen Reset durchzuführen. – Mazaz

0

Die ActiveRecord-Modelle speichern keine Informationen zum Datenbankschema. Das Schema ist in der Datei schema.rb gespeichert.

Die Datei wird am Ende jeder Migration aus der Datenbank generiert. Wenn Sie über eine aktuelle Datenbank verfügen, führen Sie einfach Folgendes aus:

, um das Schema zu synchronisieren. Wenn Sie eine leere Datenbank haben, gibt es keine Möglichkeit, das Schema zu aktualisieren (zu diesem Zeitpunkt frage ich mich, was Ihre Rails-Modelle verwenden).

Das einzige, was Sie tun können, ist:

  1. Last das aktuelle Schema und wandern aus diesem
  2. die Migrationen wiederverwendet werden, vorausgesetzt, sie auf dem neuesten Stand sind
0

Sie sollte nicht sein Erstellen eines Schemas aus Ihren Modellen, aber eher aus Ihrer Datenbank oder Ihren Migrationsdateien. Wenn Ihre Migrationen auf dem neuesten Stand und spiegeln den Zustand Ihrer Datenbank sind, können Sie ausführen:

bundle exec rake db:schema:dump 

Es sollte die schema.rb Datei aus Ihrer Datenbank generieren.

Dies ist, was Rails nach dem db läuft: Migration hat Aufgabe ausgeführt:

Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby 
Verwandte Themen