Development #96180
cellules: ajouter un uuid pour avoir un identifiant stable à utiliser lors d'un import
0%
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
History
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 :
- URL : https://git.entrouvert.org/entrouvert/combo/pulls/353
- Titre : WIP: cellules: ajouter un uuid pour avoir un identifiant stable à utiliser lors d'un import (#96180)
- Modifications : https://git.entrouvert.org/entrouvert/combo/pulls/353/files
Updated by Lauréline Guérin about 22 hours ago
- Related to Development #96426: cellules: terminer la migration uuid added