È una cattiva forma cambiare più tabelle in un singolo file di migrazione di Rails?

9

Ho scritto un file di migrazione con il seguente codice:

class AddScheduleIdToPlayers < ActiveRecord::Migration
  def change
        add_column :players, :schedule_id, :integer
        add_column :schedules, :coach_id, :integer
  end
end

È una cattiva forma non creare due file di migrazione, uno per ogni modifica, o va bene?

    
posta Eric Baldwin 20.09.2012 - 21:13
fonte

1 risposta

8

Vuoi mantenere le modifiche correlate insieme. Ad esempio, se implementi una relazione bidirezionale e aggiungi colonne / tabelle a relazioni AR sufficienti, desideri mantenerle in una sola migrazione.

Se le modifiche nello schema non sono correlate tra loro (parti di caratteristiche diverse, ad esempio) è meglio tenerle in migrazioni separate.

Faccio un esperimento mentale quando non sono sicuro. Provo a rompere la migrazione per i pezzi più piccoli possibili e poi a controllare se la mia funzione funziona ancora se prendo solo uno dei pezzi. Se è probabile che quel pezzo non appartenga a questa migrazione.

Il tuo aspetto mi sembra diviso in due migrazioni. Sembra che tu abbia due caratteristiche qui. Uno riguarda l'aggiunta di programmi per i giocatori e l'altro per l'aggiunta di allenatori ai programmi.

    
risposta data 27.09.2012 - 11:48
fonte

Leggi altre domande sui tag