Backups et restauration de données
Les bases de données de recette et de production sont automatiquement sauvegardées chaque jour par le service de backup Scalingo.

Dump manuel de la base de données de production

La procédure est décrite dans la documentation de Scalingo.

Restaurer la base depuis un backup Scalingo

Téléchargez un backup ici. Vous obtenez une archive du type 20200326230000_access4all_8677.tar.gz. Décompressez-la :
$ tar xvzf 20200326230000_access4all_8677.tar.gz
Et restaurez le fichier .psql qu'elle contient :
$ pg_restore --clean --if-exists --no-owner --no-privileges \
--dbname $DATABASE_URL \
20200326230000_access4all_8677.pgsql

Réinitialisation complète de la base et réimport d'un dump de données

Il peut parfois arriver de rencontrer des erreurs si vous tentez de restaurer un dump dont le schéma diffère de vos encours de développement. Par exemple :
...
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 5; 3079 32768 EXTENSION postgis (no owner)
pg_restore: error: could not execute query: ERROR: cannot drop extension postgis because other objects depend on it
DETAIL: column geom of table public.erp_commune depends on type public.geometry
...
pg_restore: warning: errors ignored on restore: 1
En pareil cas, une solution rapide et efficace est de supprimer complètement votre base de développement locale, de la recréer et d'y importer un dump de données comme illustré précédemment :
$ sudo -u postgres dropdb access4all
$ sudo -u postgres createdb access4all
$ pg_restore --clean --if-exists --no-owner --no-privileges --dbname $DATABASE_URL docs/backups/20200505092251_access4all_8677.pgsql
Si vous utiliser l'environnement PostgreSQL Docker :
$ docker-compose exec -T database pg_restore --clean --if-exists --no-owner --no-privileges -U access4all --dbname access4all < 20210224230000_access4all_8677.pgsql
Enfin, n'oubliez pas de rejouer d'éventuelles migrations non appliquées vis à vis de vos encours de développement :
$ python manage.py migrate
Copier le lien
Sommaire
Dump manuel de la base de données de production
Restaurer la base depuis un backup Scalingo
Réinitialisation complète de la base et réimport d'un dump de données