Ошибка при запуске remap после изменения URL сайта

Я изменил URL-адрес моего форума Discourse и следую инструкциям из Change the domain name or rename your Discourse. При попытке запустить remap я постоянно получаю следующую ошибку. Система постоянно предлагает повторно запустить скрипт, но при каждом запуске возникает та же самая ошибка.[1]

Не уверен, что делать дальше, буду признателен за любые подсказки. Заранее спасибо! :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. Я знаю, что определение безумия — это повторение одного и того же действия снова и снова с ожиданием разного результата! :rofl: ↩︎

Похоже, что возникает конфликт ограничений в аналитической таблице PostgreSQL. Ваша база данных уже содержит записи для нового домена за определённые даты, поэтому инструмент remap, скорее всего, создаёт дубликаты, которые PostgreSQL отклоняет.

Попробуйте удалить записи старого домена в конкретной таблице только за те даты, когда для нового домена уже есть данные, чтобы сохранить исторические данные и разблокировать инструмент remap. Но сначала сделайте резервную копию для безопасности.

Попробуйте следующее:

cd /var/discourse
./launcher enter app
# создайте резервную копию
discourse backup
# войдите в консоль базы данных
discourse db
/* удалите конфликтующие записи */
DELETE FROM bprd_rollups 
WHERE normalized_referrer = 'discourse.tobiaseigen.org' 
AND date IN (
    SELECT date 
    FROM bprd_rollups 
    WHERE normalized_referrer = 'digitallysovereign.org'
);

/* выйдите из postgres */
\q

затем снова запустите инструмент remap

discourse remap discourse.tobiaseigen.org digitallysovereign.org

затем используйте rake-задачу rebake_match вместо полного пересоздания

# пересоздайте только посты, содержащие строку нового домена
rake posts:rebake_match["digitallysovereign.org"]