Eu escrevi um arquivo de migração com o seguinte código:
class AddScheduleIdToPlayers < ActiveRecord::Migration
def change
add_column :players, :schedule_id, :integer
add_column :schedules, :coach_id, :integer
end
end
É péssimo não criar dois arquivos de migração, um para cada alteração, ou está bom?
ruby-on-rails
migration
Eric Baldwin
fonte
fonte
Respostas:
Você deseja manter as alterações relacionadas juntas. Por exemplo, se você implementar uma relação bidirecional e adicionar colunas / tabelas para relações AR suficientes, você deseja mantê-las em uma migração.
Se as alterações no esquema não estiverem relacionadas umas às outras (partes de recursos diferentes, por exemplo), é melhor mantê-las em migrações separadas.
Faço um experimento mental quando não tenho certeza. Tento interromper a migração para as menores partes possíveis e, em seguida, verifico se meu recurso ainda funciona se eu remover apenas uma delas. Se for esse pedaço, provavelmente não pertence a essa migração.
O seu parece-me que pode ser dividido em duas migrações. Parece que você tem dois recursos aqui. Um é sobre adicionar horários aos jogadores e outro para adicionar treinadores aos horários.
fonte