feat(technique) : migration schema repertoire prestataires (ERP-132)

Cree tout le schema BDD M3 du prestataire (jumeau du M2 fournisseur), sous
le namespace racine DoctrineMigrations (FK cross-module user/category/site +
referentiels comptables M1) :

- provider : company_name + bloc Comptabilite (siren/account_number/n_tva +
  FK tva_mode/payment_delay/payment_type/bank ON DELETE RESTRICT) +
  is_archived/archived_at/deleted_at + Timestampable/Blamable. Pas d onglet
  Information (contrairement a supplier).
- M2M formulaire principal : provider_category (RG-3.09), provider_site
  (sites du prestataire, RG-3.03 — nouveau vs supplier, + idx_provider_site_site).
- Sous-collections : provider_contact (CHECK chk_provider_contact_name :
  >=1 champ parmi first_name/last_name/phone_primary/email), provider_address
  (sans address_type/bennes/triage), provider_rib.
- Jointures adresse : provider_address_site (RG-3.05), provider_address_contact,
  provider_address_category.
- Index partiel unique uq_provider_company_name_active (LOWER(company_name)
  WHERE non archive/non supprime — RG-3.10) + index FK.
- COMMENT ON COLUMN/TABLE inline sur toutes les colonnes (regle n°12).

CategoryType PRESTATAIRE non re-seede (deja cree par ERP-131). Catalogue
ColumnCommentsCatalog et ligne dbal:run-sql differes au ticket entites (ERP-133),
comme supplier : tant que les entites Provider* n existent pas, schema:update du
setup test droppe ces tables non mappees et app:apply-column-comments planterait.
This commit is contained in:
Matthieu
2026-06-12 09:48:07 +02:00
parent 6ceef62056
commit 779d5be04e
2 changed files with 459 additions and 0 deletions
@@ -361,6 +361,14 @@ final class ColumnCommentsCatalog
'iban' => 'IBAN du compte (≤ 34 caracteres).',
'position' => 'Ordre d affichage du RIB dans la liste du fournisseur (croissant).',
] + self::timestampableBlamableComments(),
// NB : les tables provider* (M3 Technique) NE SONT PAS encore au
// catalogue. Tant que les entites Provider* n existent pas (ERP-133),
// `schema:update --force` du setup de test droppe ces tables non
// mappees ; les referencer ici ferait planter `app:apply-column-comments`
// (table absente en test). La migration ERP-132 porte ses COMMENT inline
// (dev/prod). Le catalogue sera etendu au ticket entites (ERP-133),
// comme l a fait supplier (ERP-86) apres sa migration (ERP-85).
];
}