Ich habe eine Migrationsdatei mit dem folgenden Code geschrieben:
class AddScheduleIdToPlayers < ActiveRecord::Migration
def change
add_column :players, :schedule_id, :integer
add_column :schedules, :coach_id, :integer
end
end
Ist es eine schlechte Form, nicht zwei Migrationsdateien zu erstellen, eine für jede Änderung, oder ist das in Ordnung?
ruby-on-rails
migration
Eric Baldwin
quelle
quelle
Antworten:
Sie möchten verwandte Änderungen zusammenhalten. Wenn Sie beispielsweise eine bidirektionale Beziehung implementieren und Spalten / Tabellen hinzufügen, um AR-Beziehungen zu genügen, möchten Sie diese in einer Migration behalten.
Wenn Änderungen im Schema nicht miteinander zusammenhängen (z. B. Teile verschiedener Funktionen), sollten Sie sie in separaten Migrationen aufbewahren.
Ich mache ein mentales Experiment, wenn ich mir nicht sicher bin. Ich versuche, die Migration für die kleinstmöglichen Teile aufzubrechen und dann zu überprüfen, ob meine Funktion noch funktioniert, wenn ich nur eines der Teile entferne. Wenn es so ist, gehört das Stück wahrscheinlich nicht zu dieser Migration.
Ihr sieht für mich so aus, als ob es in zwei Migrationen aufgeteilt werden kann. Es scheint, dass Sie hier zwei Funktionen haben. Zum einen geht es darum, Zeitpläne für Spieler hinzuzufügen, zum anderen um Trainer zu Zeitplänen hinzuzufügen.
quelle