Création de la base de données webapp_sample pour les tests¶
La base de données webapp_sample est une base de données généré en preprod dont on utilise le backup pour créer une base de tests.
Elle permet de disposer d’un environnement de test isolé avec un échatillon de données d’acteurs à afficher sans impacter la base de données principale.
Dans le cas de développement/debuggage de cette fonctionnalité, on a besoin de cette base de données configurée localement.
Création de la base de données¶
Pour créer la base de données webapp_sample localement, utilisez la commande Django suivante :
uv run python manage.py create_webapp_sample_db
Cette commande effectue automatiquement :
Création de la base de données
webapp_samplesi elle n’existe pas déjàCréation de l’utilisateur
webapp_sampleavec les permissions nécessaires (superuser)Configuration des extensions PostgreSQL requises (postgis, pg_stat_statements, unaccent, pg_trgm, uuid-ossp, postgres_fdw)
Si la base de données existe déjà, la commande affichera un avertissement mais continuera l’exécution pour s’assurer que les permissions et extensions sont correctement configurées.
Restaurer la base de données depuis une base distante¶
Pour peupler la base de données webapp_sample locale à partir d’une base distante (ex : preprod), utilisez le script :
make db-restore-local-from-sample
Ce script effectue automatiquement :
Dump de la base distante via
pg_dumpSuppression et recréation du schéma
publiclocalCréation des extensions PostgreSQL requises
Restauration du dump dans la base locale
Suppression du fichier de dump temporaire
Variables d’environnement requises¶
Variable |
Description |
|---|---|
|
URL de connexion à la base distante à copier (ex : preprod) |
|
URL de connexion à la base locale cible |
Ces deux variables doivent être définies dans le fichier .env (voir .env.template).
REMOTE_SAMPLE_DATABASE_URL doit pointer vers une base accessible depuis votre machine.
Configuration¶
La base de données webapp_sample est configurée dans webapp/core/settings.py en utilisant la variable d’environnement DB_WEBAPP_SAMPLE