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

Sembra esserci un conflitto di vincoli nella tabella di analisi di PostgreSQL. Il tuo database include già registrazioni 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
sudo -u postgres psql discourse
/* trova il nome esatto della tabella associata a questo indice */
SELECT tablename 
FROM pg_indexes 
WHERE indexname = 'idx_bprd_rollups_date_referrer_unique';

Assumendo che la query sopra restituisca browser_pageview_rollup_details, usa quel nome di tabella nella query successiva

/* elimina i record di analisi in conflitto */
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'
);

/* esci da postgres */
\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"]