# Étape D — Drop schéma dimension « prestation »

## Dernière chasse (greps avant merge)

| Pattern | Résultat |
|---------|----------|
| `prestation_id` dans app/resources/routes | Aucun (hors migrations historiques) |
| `Prestation::` dans app/database | Aucun |
| `->prestation` dans app/resources/js | Aucun |
| `'prestation'` / `"prestation"` validations | Aucun |

**Conservés (sémantique métier, pas la dimension FK) :**

- TMA : `prestation_realisee`, `prestations_sup`, `marquerPrestationRealisee`, route `prestation-realisee`
- Prompts OCR « prestation » (facture)
- Migrations historiques `create_prestations_table`, etc. (non modifiées)
- Variable locale `$prestations` dans `MarcheController` = liste de **postes** (nom legacy UI)

## Migration

`database/migrations/2026_05_20_180000_drop_prestation_dimension.php`

**up()** : garde-fous marchés/lots → drop FK `marches.prestation_id`, `lots.prestation_id` → drop `postes_budgetaires_types.compte_comptable` (string) → `drop prestations`

**down()** : recrée structure vide (prestations + colonnes FK), pas les données

## Fichiers supprimés

- `app/Models/Prestation.php`
- `database/seeders/PrestationsSeeder.php`
- `database/seeders/PrestationsPostesSeeder.php`
- `database/seeders/PostesGLBackfillSeeder.php` (servi en prod, obsolète)
- `app/Console/Commands/DetachMarchesPrestations.php`

## Déploiement prod

```bash
git pull
php artisan migrate --force
# ou si besoin :
php artisan migrate --path=database/migrations/2026_05_20_180000_drop_prestation_dimension.php --force
php artisan config:clear && php artisan cache:clear
```

**Prérequis prod :** `marches:detach-prestations` déjà exécuté (0 `prestation_id` actifs).

## Rollback structure

```bash
php artisan migrate:rollback --step=1
git revert HEAD && git push
```

Données prestations : dump SQL pré-migration uniquement.

## Tests locaux recommandés

1. `php artisan migrate` (up)
2. Vérifier absence table `prestations`
3. Bilan, marchés, concessionnaires, nomenclature (compte GL)
4. `php artisan migrate:rollback --step=1` (down)
5. `php artisan migrate` (up à nouveau)
