petitspas/database/README.md
Julien Martin 52e40d0001 feat(#131): back placement AM↔enfant + BDD garde/sans_garde
- API PATCH …/fiche, POST/DELETE …/enfants/:enfantId, GET avec amChildren
- Table enfants_assistantes_maternelles (option D, 1 garde active/enfant)
- Statuts enfant: garde/sans_garde remplacent actif (inscription → sans_garde)
- BDD.sql canonique réécrit; migration pour BDD existantes
- Seed test: hash bcrypt corrigé pour mot de passe « password »

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 14:05:39 +02:00

2.6 KiB
Raw Permalink Blame History

PtitsPas Ynov - Base de Données

Ce projet contient la base de données pour l'application PtitsPas, avec scripts de migration, import de données, documentation et configuration Docker.


Prérequis


Structure du projet

  • BDD.sql : schéma canonique (création from scratch — utilisé par docker-compose.yml racine)
  • migrations/ : scripts SQL pour mettre à jour une BDD déjà en service
  • bdd/data_test/ : fichiers CSV (import legacy)
  • docs/ : documentation métier et technique (ENUMS.md, FK_POLICIES.md)
  • seed/ : scripts de seed (03_seed_test_data.sql — jeu dashboard admin)
  • tests/ : tests SQL
  • docker-compose.dev.yml : Postgres standalone (BDD.sql + seed auto)

Lancer la base de données en local

Dans le terminal, depuis le dossier du projet:

docker compose -f docker-compose.dev.yml up -d

Pour arrêter et supprimer les volumes:

docker compose -f docker-compose.dev.yml down -v

Réinitialiser la BDD et charger les données de test (dashboard admin)

Depuis la racine du projet (ptitspas-app, où se trouve docker-compose.yml) :

./scripts/reset-and-seed-db.sh

Ce script : arrête les conteneurs, supprime le volume Postgres, redémarre la base (le schéma est recréé via BDD.sql), puis exécute database/seed/03_seed_test_data.sql. Tu obtiens un super_admin (admin@ptits-pas.fr) plus 9 comptes de test (1 admin, 1 gestionnaire, 2 AM, 5 parents) avec mot de passe : password. Idéal pour développer le ticket #92 (dashboard admin).

Importation automatique des données de test

Les données de test (CSV) sont automatiquement importées dans la base au démarrage du conteneur Docker grâce aux scripts présents dans le dossier migrations/.

Il n'est pas nécessaire de lancer manuellement le script d'import.


Accéder à pgAdmin4

Via Docker (local)

Ouvre ton navigateur sur:

http://localhost:8081

Email : admin@ptits-pas.fr Mot de passe : admin123

Mot de passse pour se connecter au server local : admin123

Conseils et bonnes pratiques

  • Vérifie la cohérence des identifiants dans les CSV avant import
  • Pour modifier la structure, utilise les scripts de migration dans migrations/
  • Pour ajouter des scripts d'automatisation, crée un dossier scripts/
  • Documente les étapes spécifiques dans le README ou dans docs/

Contact

Pour toute question ou contribution, consulte la documentation ou contacte l'équipe PtitsPas.