내 데이터베이스의 관계를 has_many에서 has_many : through로 변경하고 있습니다. 지금 당장 가지고 있습니다.db : migrate를 통해 구조적 db 변경 후 데이터 업데이트를 수행하는 레일스 방법은 무엇입니까?
class Brand < Ar::Base
has_many :products
end
class Product < AR::Base
belongs_to :brand
end
그리고 조인 테이블을 추가 할 것입니다.
물론 데이터베이스를 데이터로 업데이트해야합니다. 나는 이주의 경계에서 이것을하는 것이 좋은 습관이 아니라는 것을 알았다. 이 작업을 수행 할 수있는 가장 좋은 장소는 어디입니까? 데이터 업데이트가 완료된 후 (예 : 제품 표에서 원래 brand_id 열을 제거한 후) 다른 이전을 실행해야한다는 것을 알고 있습니까?
그는 마이 그 레이션 (조인 테이블 추가)을 실행 한 다음 테이블의 데이터를 조작하고 그 후에 다른 마이 그 레이션을 실행하는 것처럼 보입니다. 초기 데이터를 시드하기 위해 씨앗이 추가되었지만 이는 그가 달성하고자하는 것이 아닙니다 ... 그는 기존 데이터를 조작하려고합니다. 어떤 이들은 당신이 단지 테이블 자체의 마이그레이션으로 테이블의 데이터를 조작하면 안된다고 주장합니다. – johnmcaliley
이 작업을 수행 할 올바른 위치는 단일 마이그레이션에 있다고 주장합니다. 첫 번째 마이 그 레이션과 관련된 변경 사항을 실행하고 데이터를 마이 그 레이션 한 다음 나머지 변경 사항을 실행합니다. 3 단계가 결합되어 임의로 독립적으로 실행해서는 안되며 하나의 마이그레이션 내에 포함되어야합니다. –
동의합니다. 데이터 조작을 별도의 루비 파일이나 레이크 작업으로 옮길 수도 있습니다. – johnmcaliley