`discourse remap` falhou

Acabei de mover um fórum de name.com para forum.name.com, mas falhou:

Erro: ERRO: valor de chave duplicada viola a restrição de unicidade “unique_post_links”
DETALHE: A chave (topic_id, post_id, url)=(246, 813, http://forum.name.com) já existe.
O remapeamento foi aplicado apenas parcialmente devido ao erro acima. Por favor, execute o script novamente.

Então, executei-o novamente (falhou novamente), depois fiz rake posts:rebake e verifiquei o fórum, encontrando algumas instâncias de forum.forum.name.com. (Então, executei discourse remap forum.forum.name.com forum.name.com e rake posts:rebake para tentar corrigir — com algum sucesso; precisei alterar algumas instâncias manualmente).

Tenho algumas perguntas:

  • O comando discourse remap name.com forum.name.com aplica-se apenas ao conteúdo das postagens? Caso contrário, devo verificar apenas as Configurações do Site para encontrar possíveis problemas?
  • Ele deve ser executado dentro de alguma transação? (Se sim, não pareceu ser o caso quando falhou para mim).

Não, ele se aplica a todo o banco de dados. Posts, configurações do site, temas, uploads, tudo.

Ah, sim, olhando novamente para o erro completo, parece que o processo passou por estes itens:

backup_metadata=1
categories=6
email_logs=306
email_tokens=1
groups=1
incoming_domains=3
incoming_emails=3
javascript_caches=4
post_custom_fields=275
post_revisions=134
posts=441
post_search_data=50
search_logs=8
site_settings=5
stylesheet_cache=540
theme_fields=9
theme_settings=3

Verifiquei todas as configurações do site e elas estão corretas (assim como os temas), e acredito que tudo o que está acima foi concluído. Você consegue identificar algo que deveria ter sido feito, mas não foi? Você acha que é seguro continuar assim ou acha que precisa ser refazido do zero?

Além disso, tem alguma ideia do motivo pelo qual os erros duplicate key value violates unique constraint estão ficando mais frequentes no Discourse? Notei alguns tópicos sobre isso e acho que esta é a terceira vez que tenho esse problema pessoalmente.

Não, pelo resultado não. Só exibimos tabelas com alterações. Não há como saber se uma tabela não está na lista por causa do erro ou simplesmente porque não havia instâncias de name.com na tabela (não listada).

Infelizmente, isso está além da minha especialidade.

Obrigado, Joshua.

Alguma ideia do que os números significam? Quantidade de alterações?

Qual é o caminho recomendado agora? Corrigir o erro de restrição de unicidade e depois reverter (voltar de forum.name.com para name.com e depois novamente) ou fazer algo diferente?

Edição: feito

Acessei o aplicativo e o console do Rails, excluí o TopicLink em questão e depois voltei de forum.name.com para name.com e, em seguida, novamente.

backup_metadata=1
categories=6
email_logs=318
email_tokens=2
groups=1
incoming_domains=3
incoming_emails=3
javascript_caches=4
post_custom_fields=277
post_revisions=140
posts=444
post_search_data=51
search_logs=10
site_settings=5
stylesheet_cache=564
theme_fields=9
theme_settings=3
topic_links=281
topics=30
topic_search_data=8
translation_overrides=1
uploads=54
user_auth_token_logs=48
user_emails=2
user_histories=189
Concluído