Project

General

Profile

Development #96180

cellules: ajouter un uuid pour avoir un identifiant stable à utiliser lors d'un import

Added by Lauréline Guérin 4 days ago. Updated about 22 hours ago.

Status:
Solution proposée
Priority:
Normal
Target version:
-
Start date:
01 October 2024
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No

Description

Actuellement, quand on importe une page, le code fait:
- suppression de toutes les cellules
- recréation de toutes les cellules

C'est dommage, car on consomme des pk à chaque fois qu'on importe des pages. (dans le cadre d'une mise à jour d'application par exemple)

Et ça rend impossible le dev "conserver les rôles et les régies à la mise à jour d'une application" sur les cellules (#96117), car on ne sait pas identifier ce qu'on avait avant l'import.

Ajouter un uuid sur les cellules, qui ne sera utile que pour les imports:
- dans un premier temps, uuid nullable, unicité uuid + page
- pas de data migration, car ça va prendre un temps fou lors de la mise en prod et on voudrait que ThomasN puisse dormir un peu
- à la place, un cron qui tourne toutes les heures et qui remplit N uuids manquants pour chaque modèle de cellule
- aussi, au save d'une cellule, si l'uuid est manquant, le générer
- pas de tentative de générer un uuid qui soit identique entre recette et prod, comme on a fait pour les pages: on n'a rien qui soit suffisamment unique et fiable pour cela sur les cellules (pour les pages on avait le tuple parent/slug qui était suffisant pour traiter la grande majorité des cas)
- dans une prochaine release, suppression de ce script, data migration pour traiter l'éventuel relicat, et suppression du nullable=True du model.

Gérer l'import pour que:
- ça marche comme avant si l'uuid est manquant sur l'instance ou dans le fichier d'import
- ça marche comme avant si l'uuid fourni dans le fichier d'import est inconnu sur l'instance
- ça fait un update si l'uuid existe

Au premier import, ça marchera comme avant, on delete tout et on recrée tout, dès l'import suivant on aura les mêmes uuids en recette et en prod.


Related issues

Related to Combo - Development #96426: cellules: terminer la migration uuidNouveau04 October 2024

Actions

History

#1

Updated by Robot Gitea 3 days ago

  • Status changed from Nouveau to En cours

Lauréline Guérin (lguerin) a ouvert une pull request sur Gitea concernant cette demande :

#3

Updated by Robot Gitea about 22 hours ago

  • Status changed from En cours to Solution proposée
#4

Updated by Lauréline Guérin about 22 hours ago

  • Description updated (diff)
#5

Updated by Lauréline Guérin about 22 hours ago

Also available in: Atom PDF