On explique comment récupérer une archive fonctionnelle depuis le serveur de prod

This commit is contained in:
Jean-Marie Favreau 2024-11-01 23:03:51 +01:00
parent 05a5aa52d2
commit a7a529c776

View File

@ -31,4 +31,21 @@ Pour ajouter une nouvelle source custom:
- quand l'import fonctionne de manière indépendante dans ces expérimentations, il est tant de l'ajouter au site internet:
- ajouter à la classe ```RecurrentImport.PROCESSOR``` présente dans le fichier ```src/agenda_culturel/models.py``` une entrée correspondant à cette source pour qu'elle soit proposée aux utilisateurs
- ajouter à la fonction ```run_recurrent_import``` présente dans le fichier ```src/agenda_culturel/celery.py``` le test correspondant à cet ajout, pour lancer le bon extracteur
- se rendre sur le site, page administration, et ajouter un import récurrent correspondant à cette nouvelle source
- se rendre sur le site, page administration, et ajouter un import récurrent correspondant à cette nouvelle source
### Récupérer un dump du prod sur un serveur dev
* sur le serveur de dev:
* ```docker exec -i agenda_culturel-backend python3 manage.py dumpdata --format=json --exclude=admin.logentry --exclude=auth.group --exclude=auth.permission --exclude=auth.user --exclude=contenttypes --indent=2 > fixtures/postgres-backup-20241101.json``` (à noter qu'ici on oublie les comptes, qu'il faudra recréer)
* sur le serveur de prod:
* On supprime la base de données: ```docker exec -i agenda_culturel-backend python3 manage.py flush```
* On réinitialise l'état de la base de données: ```docker exec -i agenda_culturel-backend python3 manage.py migrate agenda_culturel zero```
* On reprend à un état de migration équivalent au serveur: ```docker exec -i agenda_culturel-backend python3 manage.py migrate agenda_culturel [00xx]```
* On récupère le dump json ```scp $SERVEUR:$PATH/fixtures/postgres-backup-20241101.json src/fixtures/```
* On l'importe: ```docker exec -i agenda_culturel-backend python3 manage.py loaddata --format=json fixtures/postgres-backup-20241101.json```
À noter qu'on a supprimé de la base de donnée les comptes, et qu'il faudra les recréer:
* ```docker exec -ti agenda_culturel-backend python3 manage.py createsuperuser```
De plus, les images ne sont pas récupérées.