refactor(commercial) : suppression du contact principal inline du Client (M1 · back 1/3) #55
Reference in New Issue
Block a user
Delete Branch "refactor/refonte-contact-suppression-inline-back"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
M1 · Ticket 1/3 (Backend) de la refonte contact. Le contact principal inline du
Client(firstName, lastName, phonePrimary, phoneSecondary, email) faisait doublon avec la sous-entitéClientContact(onglet Contact). Il est supprimé : les contacts vivent désormais uniquement dansclient_contact.RG-1.01 (firstName OU lastName sur Client) et RG-1.02 (max 2 téléphones sur Client) sont supprimées du Client — leur équivalent vit déjà sur
ClientContact(RG-1.05 / RG-1.14).Changements
Version20260603120000(namespace racineDoctrineMigrations— tri par timestamp, cf. AlphabeticalComparator) : backfill des clients sans contact versclient_contact(position 0) avant leDROPdes 5 colonnes.down()best-effort documenté.Client: retrait des 5 propriétés + getters/setters + groupes de sérialisation.ClientProcessor:MAIN_FIELDS/changedBusinessFields()/normalize()allégés ;validateMainContact()(RG-1.01) supprimée.companyNameseul (les anciens critères lastName/email vivaient sur les colonnes supprimées).ColumnCommentsCatalog) alignés.Décisions actées
App\Module\Commercial\…trierait avant leCREATE TABLE clientsur base fraîche → casse. Conforme à la règle ABSOLUE n°11.companyNameseul. D2 = retrait des colonnes contact de l'export.Vérifications
make db-reset && make migration-migrate: migration rejouable sur base fraîche (backfill no-op si contacts déjà présents).make test: 466 tests verts.make php-cs-fixer-allow-risky: clean.GET /api/clients/{id}: les 5 champs ont disparu de la racine,contacts[]porte l'info.