La restauración de respaldo falla con EXCEPCIÓN: ERROR: valor demasiado largo para el tipo character varying(1000)

Estamos usando Discourse v3.2.5.

Esto solía funcionar, pero recientemente hemos empezado a ver problemas. La restauración desde la copia de seguridad está fallando con la excepción EXCEPTION: ERROR: value too long for type character varying(1000) al intentar reasignar las cargas.

[2025-03-18 21:03:24] Reconectando a la base de datos…

[2025-03-18 21:03:24] Recargando la configuración del sitio…

[2025-03-18 21:03:24] Deshabilitando correos salientes para usuarios no personal de confianza…

[2025-03-18 21:03:25] Deshabilitando el modo de solo lectura…

[2025-03-18 21:03:25] Borrando la caché de categorías…

[2025-03-18 21:03:25] Recargando traducciones…

[2025-03-18 21:03:25] Reasignando cargas…

[2025-03-18 21:03:27] Reasignando con regex de ‘//s3-bucket-name.s3.amazonaws.com/uploads/’ a ‘/uploads/default/’
[2025-03-18 21:03:35] Restaurando cargas, esto puede tardar un tiempo…
[2025-03-18 21:03:37] EXCEPTION: ERROR: value too long for type character varying(1000)

Pude solucionarlo cambiando el character varying por origin en la tabla uploads en dump.sql antes de restaurar. Sin embargo, me gustaría saber cómo funcionaba antes y por qué ahora falla sin ningún cambio en la base de datos o la aplicación. Vemos el mismo error en 3.2.1 y 3.2.5.

Descubrí que el Origen de las Cargas incluye metadatos de Amazon que incluyen un token de seguridad cada vez que se accede al objeto. y por lo tanto, la longitud excede los 1000. ¿Hay alguna razón por la que los metadatos se incluyan en el origen y se actualicen cada vez que se accede al archivo? ¿Podemos eliminar los metadatos de la URL de origen? ¿o podemos actualizar la restricción de character varying de 1000 a 2000?

1 me gusta