Closed mviadere-openig closed 6 months ago
OK, dans la 2.104, on a ajouté tout le nouveau système des "Eléments de menu" (MenuItems) pour une gestion bien plus complète des pages statiques et des menus.
On a fait de nombreux tests et pas rencontré le soucis que tu remontes, notamment sur notre serveur de DEMO (https://geotrekdemo.ecrins-parcnational.fr/signage/list/), mais il y a peut-être eu un soucis de migration de données, ou autre.
On regarde ça.
Merci pour le ticket et les infos détaillées.
En première analyse :
0011_migrate_flatpage_data
)0011
a échoué (erreur principale), les migration suivantes n'ont pas été appliquées, donc le schéma de la BD n'est plus cohérent avec la version du code de l'application.0011
la cause ne m'a pas sauté aux yeux, il va me falloir plus d'info et si possible un dump.Vérification du schéma de la BD : dernière migration appliquée
select * from django_migrations where app = 'flatpages' order by applied desc limit 1;
Je m'attend à ce que le résultat soit la migration 0010_create_model_MenuItem
.
Pourrais-tu me fournir les infos/données suivantes :
Pour rétablir l'instance :
sudo apt-get install geotrek-admin=2.103.2
(vérifier la dénomination exacte du paquet selon la version de Ubuntu)@mviadere-openig, quand tu as faire la mise à jour de Geotrek-admin (apt-get upgrade
), tu as avoir des messages d'erreur à ce moment, non ?
Si oui, les as-tu encore à nous partager ?
Merci pour ton retour @marcantoinedupre
Résultat de la requête select * from django_migrations where app = 'flatpages' order by applied desc limit 1;
geotrekdb=# select * from django_migrations where app = 'flatpages' order by applied desc limit 1;
id | app | name | applied
-----+-----------+----------------------------+-------------------------------
451 | flatpages | 0010_create_model_MenuItem | 2024-04-03 14:21:57.470568+02
(1 ligne)
ta version de départ pour la migration ? Si tu parles de la version de geotrek-admin : 2.104.0. si tu parles de la version précédente, 2.103.2 la version de Ubuntu Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal
les valeurs des settings suivants : les LANGUAGES pour lesquels l'instance est configurée fr en
un dump de la BD en cours de migration Je ne savais pas qu'on pouvait faire un dump de la BDD pendant une migration, et je ne sais pas comment faire, si tu as plus d'informations je suis preneur
un dump de la BD avant la migration (le backup) Si tu veux un backup de la BDD avant la migration de ce matin, je dois contacter notre hébergeur pour qu'il active une instance de la vm datant d'hier matin, pour ensuite récupérer le backup, cela risque de prendre du temps.
downgrader Geotrek en 2.103.2 devrait fonctionner : sudo apt-get install geotrek-admin=2.103.2 (vérifier la dénomination exacte du paquet selon la version de Ubuntu)
Je pense que pour le moment je vais m'en tenir à cette élément. J'ai téléchargé le fichier .deb correspondant à la bonne release et j'ai fait un sudo dpkg -i geotrek-admin_2.103.2.ubuntu20.04_amd64.deb
pour downgrade, cela a résolu le problème.
@camillemonchicourt Désolé je n'ai plus accès à ces logs, sauf si tu as une commande spécifique avec un grep qui me permet d'aller chercher dans les syslog l'heure précise où j'ai fait la mise à jour.
un dump de la BD en cours de migration
Je disais « en cours » car il y avait plusieurs scripts de migration qui devait s'exécuter séquentiellement pour cette montée de version. Comme le 2nd a échoué on est dans un état "en cours". Mais pour faire un dump ça se fait de la manière habituelle avec la commande pg_dump
:
Voici la commande avec le user et le dbname par défaut de geotrek-admin :
pg_dump -h 127.0.0.1 -U geotrek geotrekdb --format=custom geotrekdb > geotrek_menu_item_migration.dump
Il se peut que ce dump soit suffisant pour que je trouve la cause et fasse la correction. Est-ce que tu peux m'envoyer un lien pour le télécharger sur mon adresse mail : marc-antoine.dupre at makina-corpus.com ? :pray:
un dump de la BD avant la migration (le backup)
Je vais commencer le debug avec le dump "en cours" et je pense que ça sera suffisant.
ah D'accord, tu parlais d'un dump "classique", je t'envoie ça !
Je n'ai pas réussi à reproduire l'erreur avec une migration de bout en bout vers geotrek-admin 2.104.1, c-à-d où tous les scripts de migration sont exécutés à la suite par la même commande migrate
. Or la mise à jour du paquet .deb de geotrek-admin ne fait qu'une exécution de migrate
.
Mais je reproduis l'erreur en appliquant uniquement le script de migration
docker compose run --rm web ./manage.py migrate flatpages 0010_create_model_MenuItem
puis dans un deuxième temps
docker compose run --rm web ./manage.py migrate flatpages 0011_migrate_flatpages_data
La PR #4048 inclut un bugfix pour protéger la migration de ce cas particulier d'exécution séparée des scripts de migration. Sans avoir été au fond du problème je pense que l'erreur est corrigée.
Corrigé dans la 2.104.2.
Geotrek version : 2.104.1 Python version : 3.8.10 Django version : 3.2.25 PostgreSQL version : 16.2 PostGIS version : 3.4
Suite à la mise à jour 2.104.1, plusieurs error 500 interne pour accéder à al signalétique, créer un tronçon, etc.
Message d'erreur dans dpkg-reconfigure Geotrek-admin :
Message d'erreur Sentry :
query