TehLeo
(Chris)
Março 20, 2025, 10:31pm
1
Não consigo restaurar de um backup do Discourse no S3.
Passos para reproduzir:
Tenha um backup do Discourse no S3.
Configure uma instalação nova do Discourse.
Crie uma conta de administrador.
Conecte o Discourse ao S3.
Localize o backup do Discourse nas minhas listas de backup do S3.
Habilite a restauração.
Tente restaurar.
A restauração falha.
Log:
Já tentei tudo o que pude para solucionar problemas com o S3. Cheguei a tentar mover o backup para o servidor e realizar uma restauração manual/via CLI. Falha com o mesmo log. Já tentei desativar os Uploads do S3. Não tenho certeza quais são os próximos passos para solucionar o problema, ou como ver exatamente qual post está causando o problema / removê-lo.
Obrigado por qualquer ajuda!
1 curtida
Canapin
(Coin-coin le Canapin)
Março 20, 2025, 10:56pm
3
Bem-vindo!
TehLeo:
Eu tentei de tudo
“Tudo” inclui procurar por logs de erro semelhantes aqui?
https://meta.discourse.org/search?q=%22posts%20are%20not%20remapped%22%20%22s3%20migration%20failed%22%20order%3Alatest
Este resultado em particular:
This sounds like the problem mentioned in Can't restore a backup if it includes link to Discourse onebox
You should be able to fix this during the restore, but you need to do it on the shell.
cd /var/discourse
./launcher enter app
# start the restore with the --pause argument
discourse restore --pause <backup_filename>
It will pause the restore process at two points:
Before DB migrations are run – you can ignore that; press a key to continue
Before Uploads are res…
1 curtida
TehLeo
(Chris)
Março 20, 2025, 11:16pm
4
Segui estas instruções e recebi 9 posts da pedreira. O post antigo não detalha o que fazer com esses posts, ou como corrigir o problema a partir deste ponto.
Canapin
(Coin-coin le Canapin)
Março 20, 2025, 11:47pm
5
Isto é o que ask.discourse.org retorna, não posso garantir que seja seguro ou que funcione
Durante uma restauração pausada, você tem a oportunidade de modificar ou limpar temporariamente dados problemáticos, como uploads ou posts no banco de dados, antes que o Discourse prossiga com a conclusão do processo de restauração. Veja como você pode lidar ou modificar os dados problemáticos durante uma restauração pausada, passo a passo.
Passos para Lidar Manualmente com Dados Problemáticos em uma Restauração Pausada
Inicie a Restauração com Pausa:
Execute a restauração com o sinalizador --pause para permitir que o processo de restauração pause antes que os uploads ou remapeamentos sejam aplicados:
cd /var/discourse
./launcher enter app
discourse restore --pause <nome_do_arquivo_de_backup>
Ponto de Pausa:
A restauração pausará em pontos específicos:
Antes das migrações do banco de dados: Pressione uma tecla para prosseguir neste ponto, pois não se trata de uploads ou posts problemáticos.
Antes que os uploads sejam restaurados: Pare aqui para modificar quaisquer problemas relacionados a uploads ou conteúdo de posts. Este é o ponto crítico onde você precisa agir.
Abra uma Nova Sessão SSH:
Enquanto a restauração estiver pausada, abra uma nova sessão SSH para interagir com a instância pausada sem interromper o processo de restauração:
cd /var/discourse
./launcher enter app
Acesse o Console Rails:
Entre no console Rails para interagir com o banco de dados:
rails c
Identifique Posts Problemáticos:
Isso retornará posts onde o conteúdo cooked inclui caminhos de upload problemáticos ou links de onebox.
Modifique ou Exclua Posts Problemáticos:
Se você localizar o(s) post(s) problemático(s), você tem duas opções principais:
Modifique Uploads, se Necessário:
Se o problema for proveniente de uploads específicos e problemáticos:
Retome o Processo de Restauração:
Após fazer as modificações necessárias, retorne à sessão shell pausada e pressione qualquer tecla para retomar o processo de restauração.
Considerações Importantes:
Sempre crie um backup do arquivo de banco de dados original antes de modificar qualquer conteúdo.
Concentre-se em corrigir o mínimo de dados possível, ou seja, aborde apenas o conteúdo problemático sem fazer alterações desnecessárias.
Se o upload for externo (um problema relacionado a URL ou CDN), você pode remover a referência externa manualmente durante a restauração.
1 curtida
TehLeo
(Chris)
Março 20, 2025, 11:47pm
6
Consegui excluir todas as 9 postagens usando o seguinte comando Rails:
Post.find(id#).destroy
1 curtida
Canapin
(Coin-coin le Canapin)
Março 20, 2025, 11:49pm
7
Você executou isso enquanto a restauração estava pausada?
system
(system)
Fechado
Abril 19, 2025, 11:50pm
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.