docs: section migrations au readme

This commit is contained in:
devcodetools committed 2026-09-14 16:15:29 +02:00
1 parent 2069b66f9b
commit ea460db104
1 file changed
+22 -3
+22 -3
View File
@@ -23,7 +23,25 @@ php -m | grep -i sqlite # doit afficher pdo_sqlite et/ou sqlite3
php -S localhost:8000 -t public
```
La base `database/api_tube.sqlite` et son schéma sont créés automatiquement au premier appel.
La base `database/api_tube.sqlite` et son schéma sont créés automatiquement au premier appel (via les migrations).
## Migrations
Les migrations sont des fichiers SQL numérotés dans `database/migrations/`, appliqués une seule fois et tracés dans la table `migrations`.
Elles sont exécutées automatiquement à la connexion à la base. Pour les appliquer manuellement (hors serveur web) :
```bash
php database/migrate.php
```
Ajouter une migration :
```bash
# fichier database/migrations/002_ajout_colonne.sql
echo "ALTER TABLE links ADD COLUMN visible INTEGER DEFAULT 1;" > database/migrations/002_ajout_colonne.sql
php database/migrate.php
```
## Endpoints
@@ -65,10 +83,11 @@ public/
index.php # point d'entrée unique
.htaccess # réécriture vers index.php
src/
Database.php # connexion PDO SQLite (+ création du schéma)
Database.php # connexion PDO SQLite + exécution des migrations
LinkRepository.php # CRUD SQL
JsonExporter.php # écriture de data.json
LinkController.php # routage, validation, orchestration
database/
schema.sql # schéma de la table links
migrate.php # runner de migrations (CLI)
migrations/ # fichiers SQL versionnés
```