멀티사이트에서 플러그인 제거

이것은 상당히 예외적인 경우이며, 버그일 수도 있고, 이 문제에 대한 좋은 해결책이 있는지 궁금합니다.
@sam 이 문제를 잘 알고 있을 사람이 있다면 아마도 당신이겠죠. 그래서 태그를 달아봅니다.

멀티사이트 설치 환경을 생각해 보세요.

  1. 멀티사이트에 포럼 A가 추가됩니다.
  2. 데이터베이스를 수정하는 플러그인이 설치됩니다(예: user_options에 chat_enabled을 추가하는 채팅 플러그인).
  3. 마이그레이션이 실행되어 포럼 A의 일부 테이블에 컬럼이 추가됩니다.
  4. 플러그인이 제거되면 컬럼은 그대로 남아 있습니다.
  5. 멀티사이트에 포럼 B가 추가됩니다.
  6. 이제 단일 멀티사이트에서 포럼 A와 포럼 B가 user_options 테이블에서 서로 다른 컬럼 정의를 가진 상태로 존재하게 됩니다.
  7. multisite:seed_fu가 문제를 일으킵니다(ActiveRecord 모델 캐싱 때문이라고 생각합니다).
#<ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:  column user_options.chat_enabled does not exist
LINE 1: ...lendar", "user_options"."oldest_search_log_date", "user_opti...

최근 멀티사이트에 새 사이트를 추가하려고 할 때 이 문제를 경험한 것 같습니다. 문제를 이렇게 명확하게 설명해 주셔서 감사합니다.

음, 이건 좀 악몽 같은 상황이네요. 여기서 수동으로 클린업을 실행해야 합니다.

멀티사이트 환경에서는 스키마의 일관성을 유지하는 것이 매우 중요합니다.