[ERP-67] Documenter toutes les colonnes BDD via COMMENT ON COLUMN + garde-fou #24
Reference in New Issue
Block a user
Delete Branch "feature/ERP-67-sql-column-comments"
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?
Ticket Lesstime : ERP-67 —
[Convention SQL / Backend / L]Objectif
Documenter toutes les colonnes BDD via
COMMENT ON COLUMN(visible dans DBeaver / DataGrip / pgAdmin sans lire le code Doctrine) et verrouiller la convention par un garde-fou de test architecture.Changements
Convention (CLAUDE.md + rules)
CLAUDE.mdregle ABSOLUE n°12 : toute migration creant ou modifiant une colonne doit poser unCOMMENT ON COLUMN(FR, ≤ 200 caracteres)..claude/rules/backend.md§ Migrations Doctrine : exemples + helper standardise pour les 4 colonnes duTimestampableBlamableTrait.Garde-fou architecture
tests/Architecture/ColumnsHaveSqlCommentTest: echoue si une colonnepublicn'a pas decol_description(horsdoctrine_migration_versionsetfake_site_aware_entityfixture de test).EXCLUDED_TABLESvolontairement vide.Retrofit des tables existantes
Version20260528120000: 64COMMENT ON TABLE/COLUMNsur les 11 tables metier (audit_log, category, category_type, permission, role, role_permission, site, user, user_permission, user_role, user_site).src/Shared/Infrastructure/Database/ColumnCommentsCatalog.php.app:apply-column-comments(Module/Core/Infrastructure/Console) : rejoue le catalogue apresdoctrine:schema:update --force(sinon l'ORM drop les commentaires absents du mapping PHP). Branchee dansmakefile test-db-setupet.gitea/workflows/pull-request.yml.Validation
make db-resetpuismake test: 312 tests verts, 0 regression.make php-cs-fixer-allow-risky: 0 fix.starseedetstarseed_test.Test plan
make db-resetpasse sans erreur.make testpasse ;ColumnsHaveSqlCommentTestvert sur DB de test.category,user,audit_log.pull-request.yml) passe.A noter pour la suite
La convention
options: ['comment' => '...']sur chaque#[ORM\Column]reste recommandee pour les nouvelles entites — Doctrine genere alors automatiquement leCOMMENT ON COLUMNdans la migration etschema:updatele preserve sans avoir a rejouer le catalogue. A discuter si on veut en faire une regle forte.