Escribí un archivo de migración con el siguiente código:
class AddScheduleIdToPlayers < ActiveRecord::Migration
def change
add_column :players, :schedule_id, :integer
add_column :schedules, :coach_id, :integer
end
end
¿Es una mala forma no crear dos archivos de migración, uno para cada cambio, o está bien?
ruby-on-rails
migration
Eric Baldwin
fuente
fuente
Respuestas:
Desea mantener juntos los cambios relacionados. Por ejemplo, si implementa una relación bidireccional y agrega columnas / tablas para satisfacer las relaciones AR, desea mantenerlas en una migración.
Si los cambios en el esquema no están relacionados entre sí (partes de diferentes características, por ejemplo), es mejor mantenerlos en migraciones separadas.
Hago un experimento mental cuando no estoy seguro. Intento romper la migración para las piezas más pequeñas posibles y luego compruebo si mi función aún funciona si elimino solo una de las piezas. Si es así, es probable que la pieza no pertenezca a esta migración.
El tuyo me parece que se puede dividir en dos migraciones. Parece ser que tienes dos características aquí. Uno se trata de agregar horarios para jugadores y otro para agregar entrenadores a los horarios.
fuente