Links quebrados após a movimentação

Muitos dos nossos links internos do fórum estão quebrados após a migração para um novo servidor. Criei o novo servidor em uma URL temporária, staging.example.com, para auxiliar na transição, mas agora que ela foi concluída, muitos links em forum.example.com ainda apontam para staging.example.com (que não existe mais).

Verifiquei o arquivo app.yml e reconstruí:

containers/app.yml: DISCOURSE_HOSTNAME: forum.example.com

Procurei em admin > configurações por qualquer vestígio de “staging”.

A propagação do DNS já ocorreu há bastante tempo.

Vi essa antiga referência, mas não tenho certeza se está relacionada.

Se não houver solução possível além da edição manual, alguma dica sobre como encontrar todas as ocorrências? O botão de busca não funciona bem para isso.

Eu fiz isso. Tudo funcionou muito bem, exceto que agora tenho links quebrados.

Então você está dizendo que o remap e/ou o rebake falharam?

Desculpe, não fiz o remapeamento. Vou tentar isso hoje à noite.

Sim, agora posso afirmar que o remapeamento falhou.

> /var/www/discourse# discourse remap staging.example.com forum.example.com
> Reescrevendo todas as ocorrências de staging.example.com para forum.example.com
> ESTA TAREFA REESCREVERÁ DADOS, TEM CERTEZA (digite SIM)
> SIM
> Erro: ERRO: valor de chave duplicada viola a restrição de unicidade "unique_post_links"
> DETALHE: A chave (topic_id, post_id, url)=(8718, 57455, https://forum.example.com/t/exampletopic/4606/336) já existe.
> O remapeamento foi aplicado apenas parcialmente devido ao erro acima. Por favor, execute o script novamente.

Executei novamente conforme instruído e obtive o mesmo erro, na mesma chave (topic_id, post_id, url).

Posso acessar o console do Rails e executar alguns comandos SQL/ActiveRecord se você puder me dizer o que executar. Ou usar o Data Explorer.

Alguém mais terá que te ajudar com isso, pois não tenho certeza do motivo de você ter um valor de chave duplicado.

Ironicamente, o tópico ofensivo 8718 e a postagem 57455 estão em uma MP entre dois usuários lamentando que os links estão quebrados!

Mas, ao usar o explorador de dados, vejo apenas uma postagem com o ID 57455. Não sei por que o remap está reclamando.

O post provavelmente já contém tanto a URL antiga quanto a nova. Basta editá-lo e removê-las.

Limpei algumas postagens e consegui concluir o remapeamento. No entanto, o rebake chegou a 30%, depois encontrou erros e travou o sistema, obrigando-me a reiniciá-lo. O sistema tem memória e espaço em disco adequados.

Pergunta: Após a reinicialização, no ‘top’, há um processo Ruby usando 60% da CPU. Será que é o job do rake? Ele continuaria após a reinicialização?

Provavelmente o Sidekiq está ocupado com as recriações. Acesse /sidekiq no seu fórum para verificar.