-
Mémo Sauvegarder sa base de données Django
Backup Django database
Finalité : faire un backup quotidien de ma base Django
Il est possible de faire un dump très facilement en utilisant l'utilitaire
manage.py
(cf le mémo dédié).Il est cependant possible de le faire de manière programmatique et de récupérer en sortie un joli petit json !
import os import django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings") django.setup() from django.core.management import call_command def backup(filename): with open(filename, 'w') as output: call_command( 'dumpdata', # Décommenter pour un backup spécifique à une application # 'myapp', natural_foreign=True, exclude=[ 'admin.logentry', 'contenttypes', 'auth.permission', 'sessions.session', ], format="json", indent=2, stdout=output ) backup('mybackup.json')
Il suffit d'en faire une petite tache Celery, et c'est parti !
12 juin 2019 16:43