Es gibt ein frustrierendes Problem, bei dem meine Rails-Migrationen das Schema mit Leerzeichen und der Position der Tabellenspalten aktualisieren.Die Rails-Migration fügt immer Leerräume ein oder ändert die Reihenfolge der Spalten im Schema
Also die meisten Zeiten, wenn ich bundle exec rake db:migrate
ausführen, wird es eines der folgenden Szenarien tun. Wenn ich dies in unseren Hauptzweig einfüge und andere Entwickler damit arbeiten, werden durch die Rails-Migration die Tabs und die Positionsreihenfolge zurückgesetzt.
Wir haben festgestellt, dass alle drei Entwickler im Team das gleiche Problem beim Ausführen einer Migration haben, wenn ich der letzte Programmierer des Schemas war.
Ich habe gerade aktualisiert postgres to v9.2.4
das ist das gleiche wie die anderen Entwickler. Irgendwelche Ideen, was ich noch versuchen könnte?
Beispiele
Im Folgenden sind git diffs zu zeigen, was geschieht.
Beispiel für Nachbestellung des Schemas:
create_table "accounts", :force => true do |t|
t.integer "organisation_id"
- t.boolean "active", :default => false
t.text "notes"
+ t.boolean "active", :default => false
end
Beispiel für das Hinzufügen Registerkarten des Schema:
create_table "comments", :force => true do |t|
- t.integer "commentable_id", :default => 0
- t.string "commentable_type", :default => ""
+ t.integer "commentable_id", :default => 0
+ t.string "commentable_type", :default => ""
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
Was lässt Sie denken, dass die Whitespaces Tabs sind? Gibt es eine Chance, die ganze Vorher-Nachher-Version von einer dieser create_tables zu sehen? –
@muistooshort Danke, sie könnten whitespaces – Coderama
Das erste bedeutet nur, dass nicht alle Spalten in der gleichen Reihenfolge in der Datenbank sind, vergleichen Sie die '\ d accounts' Ausgabe in' psql' und Sie werden den Schuldigen finden; Dies kann auf verschiedene Arten geschehen und sollte kein Problem sein. Die zweite ist wahrscheinlich nur eine Ausrichtungssache (d. H., Alle ': default => ...' Optionen werden in einer Linie angeordnet), aber es ist schwer zu sagen, ohne die gesamten Vorher- und Nachher 'schema.rb' Dateien zu sehen. –