La restauration de la sauvegarde échoue avec l'EXCEPTION : ERREUR : la valeur est trop longue pour le type character varying(1000)

Nous utilisons Discourse v3.2.5.

Cela fonctionnait auparavant, mais nous rencontrons des problèmes récemment. La restauration à partir de la sauvegarde échoue avec l’exception EXCEPTION : ERROR : value too long for type character varying(1000) lors de la tentative de remappage des téléchargements.

[2025-03-18 21:03:24] Reconnexion à la base de données…

[2025-03-18 21:03:24] Rechargement des paramètres du site…

[2025-03-18 21:03:24] Désactivation des e-mails sortants pour les utilisateurs non-membres du personnel…

[2025-03-18 21:03:25] Désactivation du mode lecture seule…

[2025-03-18 21:03:25] Nettoyage du cache des catégories…

[2025-03-18 21:03:25] Rechargement des traductions…

[2025-03-18 21:03:25] Remappage des téléchargements…

[2025-03-18 21:03:27] Remappage avec regex de ‘//s3-bucket-name.s3.amazonaws.com/uploads/’ vers ‘/uploads/default/’
[2025-03-18 21:03:35] Restauration des téléchargements, cela peut prendre un certain temps…
[2025-03-18 21:03:37] EXCEPTION : ERROR : value too long for type character varying(1000)

J’ai pu résoudre le problème en modifiant le character varying pour la colonne origin dans la table uploads dans dump.sql avant la restauration. Cependant, j’aimerais savoir comment cela fonctionnait auparavant et pourquoi cela échoue maintenant sans aucune modification de la base de données ou de l’application. Nous rencontrons la même erreur dans les versions 3.2.1 et 3.2.5.

J’ai constaté que l’origine des téléchargements inclut les métadonnées Amazon qui comprennent un jeton de sécurité chaque fois que l’objet est accédé. Par conséquent, la longueur dépasse 1000. Y a-t-il une raison pour laquelle les métadonnées sont incluses dans l’origine et mises à jour à chaque accès au fichier ? Pouvons-nous supprimer les métadonnées de l’URL d’origine ? Ou pouvons-nous mettre à jour la contrainte character varying de 1000 à 2000 ?

1 « J'aime »