vBulletin 마이그레이션 스크립트와 성공적으로 씨름한 끝에, 이제 수백만 개의 게시글이 남아있는 상태로 마이그레이션이 36시간째 계속 돌아가는 모습을 지켜보고 있습니다…
보존해야 할 기존 Discourse 콘텐츠나 데이터 관계가 없다면, 기존 비-Discourse 포럼을 소스 데이터베이스 데이터로부터 Discourse 백업 SQL 스냅샷을 직접 생성하여 마이그레이션할 수 없는 이유가 있을까요?
스크립트는 거의 처음부터 작성해야 하지만, 기존 마이그레이션 스크립트와 유사한 고수준 구조가 될 것입니다. 스크립트는 소스 데이터베이스에서 데이터를 가져오고 필요에 따라 변환(munge)한 후, Discourse 백업 스냅샷을 조립하는 데 사용할 수 있는 각 대상 Discourse 테이블에 대한 평탄화 데이터 덤프를 생성합니다. 결국 스크립트 출력이 빈 Discourse 인스턴스의 백업 스냅샷에 주입되는 방식입니다.
위 * 부호는 상당한 양의 작업을 가리키고 있지만, 제가 간과하고 있는 주요 장애물이 있을까요? 기존 소스 데이터 식별자(토픽 ID, 스레드 ID 등)를 모두 재사용할 수 있으므로, 변환 단계에서 상당한 양의 상태를 유지할 필요가 없다고 생각하지만, 제 생각이 틀렸을 수도 있습니다. 마이그레이션 로직의 핵심 작업은 소스 데이터베이스에 대한 데이터베이스 호출에 있을 것 같습니다.