petitspas/database/README.md
2026-02-16 17:26:13 +01:00

91 lines
2.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
- Docker Desktop (https://www.docker.com/products/docker-desktop/)
- Docker Compose
---
## Structure du projet
- `migrations/` : scripts SQL pour la création et l'import de la base
- `bdd/data_test/` : fichiers CSV pour l'import de données de test
- `docs/` : documentation métier et technique
- `seed/` : scripts de seed
- `tests/` : tests SQL
- `docker-compose.dev.yml` : configuration Docker pour le développement
---
## Lancer la base de données en local
Dans le terminal, depuis le dossier du projet:
```bash
docker compose -f docker-compose.dev.yml up -d
```
Pour arrêter et supprimer les volumes:
```bash
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`) :
```bash
./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.