Restauração de backup falha com EXCEÇÃO: ERRO: valor muito longo para o tipo character varying(1000)

Estamos usando o Discourse v3.2.5.

Isso costumava funcionar, mas recentemente começamos a ver problemas. A restauração do backup está falhando com a exceção EXCEPTION: ERROR: value too long for type character varying(1000) ao tentar remapear os uploads.

[2025-03-18 21:03:24] Reconectando ao banco de dados…

[2025-03-18 21:03:24] Recarregando configurações do site…

[2025-03-18 21:03:24] Desabilitando e-mails de saída para usuários não-staff…

[2025-03-18 21:03:25] Desabilitando modo somente leitura…

[2025-03-18 21:03:25] Limpando cache de categorias…

[2025-03-18 21:03:25] Recarregando traduções…

[2025-03-18 21:03:25] Remapeando uploads…

[2025-03-18 21:03:27] Remapeando com regex de ‘//s3-bucket-name.s3.amazonaws.com/uploads/’ para ‘/uploads/default/’
[2025-03-18 21:03:35] Restaurando uploads, isso pode levar algum tempo…
[2025-03-18 21:03:37] EXCEPTION: ERROR: value too long for type character varying(1000)

Consegui corrigir alterando o character varying para a coluna origin na tabela uploads em dump.sql antes de restaurar. No entanto, gostaria de saber como funcionava anteriormente e por que está falhando agora sem nenhuma alteração no banco de dados ou na aplicação. Vemos o mesmo erro em 3.2.1 e 3.2.5.

Descobri que a Origem dos Uploads inclui os Metadados da Amazon que incluem o token de segurança toda vez que o objeto é acessado. e, portanto, o comprimento excede 1000. Há alguma razão pela qual os metadados são incluídos na origem e são atualizados toda vez que o arquivo é acessado? Podemos remover os metadados da URL de origem? ou podemos atualizar a restrição de character varying de 1000 para 2000?

1 curtida