Napisałem plik migracji z następującym kodem:
class AddScheduleIdToPlayers < ActiveRecord::Migration
def change
add_column :players, :schedule_id, :integer
add_column :schedules, :coach_id, :integer
end
end
Czy źle jest nie tworzyć dwóch plików migracji, jednego dla każdej zmiany, czy to w porządku?
ruby-on-rails
migration
Eric Baldwin
źródło
źródło
Odpowiedzi:
Chcesz zachować powiązane zmiany razem. Na przykład, jeśli zaimplementujesz relację dwukierunkową i dodasz kolumny / tabele w celu uzyskania wystarczających relacji AR, chcesz zachować je w jednej migracji.
Jeśli zmiany w schemacie nie są ze sobą powiązane (na przykład części różnych funkcji), lepiej przechowywać je w osobnych migracjach.
Robię mentalny eksperyment, kiedy nie jestem pewien. Próbuję przerwać migrację dla najmniejszych możliwych elementów, a następnie sprawdzam, czy moja funkcja nadal działa, jeśli usunę tylko jeden z elementów. Jeśli tak, to prawdopodobnie fragment nie należy do tej migracji.
Wygląda mi na to, że można go podzielić na dwie migracje. Wygląda na to, że masz tutaj dwie funkcje. Jeden dotyczy dodawania harmonogramów dla graczy, a drugi dodawania trenerów do harmonogramów.
źródło