단일 Rails 마이그레이션 파일에서 여러 테이블을 변경하는 것이 나쁜 형태입니까?


11

다음 코드로 마이그레이션 파일을 작성했습니다.

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

각 변경에 대해 하나씩 두 개의 마이그레이션 파일을 작성하지 않는 것이 좋지 않습니까?


이것은 같은 질문처럼 보이지만 거의 모든 모델에 "updated_by"필드를 추가하고 싶습니다. 단일 마이그레이션 AddUpdatedByToMostObjects에서이 작업을 수행 할 수 있습니까?
외국인 생활 양식

답변:


10

관련 변경 사항을 함께 유지하려고합니다. 예를 들어 양방향 관계를 구현하고 열 / 테이블을 추가하여 AR 관계로 충분하면 한 번의 마이그레이션으로 유지할 수 있습니다.

스키마의 변경 사항이 서로 관련이없는 경우 (예 : 다른 기능의 일부) 별도의 마이그레이션으로 유지하는 것이 좋습니다.

잘 모르겠 으면 정신 실험을합니다. 가능한 가장 작은 조각에 대한 마이그레이션을 중단 한 다음 조각 중 하나만 제거해도 기능이 여전히 작동하는지 확인합니다. 해당 조각이이 마이그레이션에 속하지 않은 것 같습니다.

두 가지 마이그레이션으로 나눌 수있는 것처럼 보입니다. 여기에 두 가지 기능이있는 것 같습니다. 하나는 선수를위한 일정을 추가하고 다른 하나는 선수를 일정에 추가하는 것에 관한 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.