Errore durante l'esecuzione di remap dopo aver cambiato l'URL del sito

Ho cambiato l’URL del mio sito Discourse e sto seguendo le istruzioni in Change the domain name or rename your Discourse. Quando provo a eseguire il remapping, continuo a ricevere il seguente errore. Mi dice di riavviare lo script, ma poi si verifica lo stesso errore ogni volta.[1]

Non sono sicuro del mio prossimo passo qui e sarei grato per qualche indicazione. Grazie in anticipo! :seedling:

root@digitallysovereign:/var/discourse# ./launcher enter app
x86_64 arch detected.
root@digitallysovereign-app:/var/www/discourse# discourse remap discourse.tobiaseigen.org digitallysovereign.org
Rewriting all occurrences of discourse.tobiaseigen.org to digitallysovereign.org
WILL RUN ON 'default' DB
THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES): YES

Remapping tables on default...

ai_api_audit_logs=919
ai_secrets=1
backup_metadata=1
browser_pageview_events=3664
Error: ERROR:  duplicate key value violates unique constraint "idx_bprd_rollups_date_referrer_unique"
DETAIL:  Key (date, normalized_referrer)=(2026-07-01, digitallysovereign.org) already exists.
The remap has only been partially applied due to the error above. Please re-run the script again.
root@digitallysovereign-app:/var/www/discourse# discourse remap discourse.tobiaseigen.org digitallysovereign.org
Rewriting all occurrences of discourse.tobiaseigen.org to digitallysovereign.org
WILL RUN ON 'default' DB
THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES): YES

Remapping tables on default...

Error: ERROR:  duplicate key value violates unique constraint "idx_bprd_rollups_date_referrer_unique"
DETAIL:  Key (date, normalized_referrer)=(2026-07-01, digitallysovereign.org) already exists.
The remap has only been partially applied due to the error above. Please re-run the script again.
root@digitallysovereign-app:/var/www/discourse# discourse remap discourse.tobiaseigen.org digitallysovereign.org
Rewriting all occurrences of discourse.tobiaseigen.org to digitallysovereign.org
WILL RUN ON 'default' DB
THIS TASK WILL REWRITE DATA, ARE YOU SURE (type YES): YES

Remapping tables on default...

Error: ERROR:  duplicate key value violates unique constraint "idx_bprd_rollups_date_referrer_unique"
DETAIL:  Key (date, normalized_referrer)=(2026-07-01, digitallysovereign.org) already exists.
The remap has only been partially applied due to the error above. Please re-run the script again.

  1. So che la definizione di follia è ripetere la stessa cosa ancora e ancora e aspettarsi un risultato diverso! :rofl: ↩︎

Sembra esserci un conflitto di vincoli nella tabella di analisi di PostgreSQL. Il tuo database include già record del nuovo dominio per date specifiche, quindi lo strumento di rimappatura sta probabilmente creando duplicati che PostgreSQL sta rifiutando.

Prova a eliminare i record del vecchio dominio nella tabella specifica solo per le date in cui il nuovo dominio ha già dati, in modo da preservare i dati storici e sbloccare lo strumento di rimappatura. Fai prima un backup di sicurezza.

Prova questo:

cd /var/discourse
./launcher enter app
# crea un backup di sicurezza
discourse backup
# entra nella console del database
discourse db
/* elimina i record in conflitto */
DELETE FROM bprd_rollups 
WHERE normalized_referrer = 'discourse.tobiaseigen.org' 
AND date IN (
    SELECT date 
    FROM bprd_rollups 
    WHERE normalized_referrer = 'digitallysovereign.org'
);

/* esci da PostgreSQL */
\q

poi esegui di nuovo lo strumento di rimappatura

discourse remap discourse.tobiaseigen.org digitallysovereign.org

poi usa il task rake rebake_match invece di un ribaking completo

# ribake solo i post contenenti la stringa del nuovo dominio
rake posts:rebake_match["digitallysovereign.org"]