etalab / rncs_worker_api_entreprise

API pour récupérer et mettre à disposition les données du Répertoire National du Commerce et des Société
https://entreprise.data.gouv.fr
MIT License
23 stars 13 forks source link

Backup de la base de données #123

Open brindu opened 5 years ago

brindu commented 5 years ago

Comme il fait parti intégrante du processus de mise à jour d'avoir à reset la base de données et tout réimporter depuis le stock de mai 2017, ceci pour intégrer des stocks correctifs transmis rétroactivement (avec retard), il peut être intéressant de réaliser des dumps mensuel de la base de données pour ne pas avoir à importer plus de deux ans de mise à jour quotidiennes.

Commande de dump

La commande suivante permet de réaliser un dump des données uniquement (DossierEntreprise, Representant, DailyUpdate, ...). Pratique pour les importer cross environnements et cross serveurs, mais plus long à restaurer qu'un simple dump/restore qui restaurerait une base complète inexistante (y compris le nom de la base et l'ownership) inutilisable cross environnements mais à considérer pour les backup en production.

pg_dump --host localhost --username <user_name> --verbose --clean --no-owner --no-acl --format=d --exclude-table=ar_internal_metadata --exclude-table=schema_migrations --jobs=4 <db_name> -f <path_to_dump_dir>

Commande de restore

Avant de restaurer les données issues des fichiers sources, vider les tables correspondantes via la commande bundle exec rake clean_db RAILS_ENV=env.

pg_restore --data-only --disable-triggers --format=d --verbose --no-owner --jobs=4 --username=<user_name> --host=localhost --dbname=<db_name> <path_to_folder>