사이트 URL을 변경한 후 remap 실행 시 오류 발생

포스트그레SQL 분석 테이블에서 제약 조건 충돌이 발생한 것으로 보입니다. 데이터베이스에 이미 특정 날짜에 대한 새 도메인 기록이 포함되어 있어, 리맵(remap) 도구가 중복을 생성하고 포스트그레SQL이 이를 거부하고 있을 가능성이 큽니다.

역사적 데이터를 보존하고 리맵 도구의 작동을 막지 않도록, 새 도메인에 이미 데이터가 있는 날짜에 대해서만 해당 테이블의 구 도메인 기록을 삭제하는 것을 시도해 보세요. 단, 먼저 안전 백업을 수행하세요.

다음과 같이 시도해 보세요:

cd /var/discourse
./launcher enter app
# 안전 백업 생성
discourse backup
# 데이터베이스 콘솔 진입
sudo -u postgres psql discourse
/* 이 인덱스에 연결된 정확한 테이블 이름 찾기 */
SELECT tablename 
FROM pg_indexes 
WHERE indexname = 'idx_bprd_rollups_date_referrer_unique';

위 쿼리가 browser_pageview_rollup_details를 반환한다고 가정하면, 다음 쿼리에서 해당 테이블 이름을 사용하세요.

/* 충돌하는 분석 기록 삭제 */
DELETE FROM browser_pageview_rollup_details 
WHERE normalized_referrer = 'discourse.tobiaseigen.org' 
AND date IN (
    SELECT date 
    FROM browser_pageview_rollup_details 
    WHERE normalized_referrer = 'digitallysovereign.org'
);

/* 포스트그레SQL 종료 */
\q

그 후 리맵 도구를 다시 실행하세요.

discourse remap discourse.tobiaseigen.org digitallysovereign.org

그 다음 전체 리베이킹(full rebake) 대신 rebake_match 레이크 태스크를 사용하세요.

# 새 도메인 문자열을 포함하는 게시물만 리베이킹
rake posts:rebake_match["digitallysovereign.org"]