feat(participants): record shirt name, school and previous clubs
Three things a football academy keeps about a player that had nowhere to live,
found while mapping a 495-row roster exported from a club's previous system.
jersey_name is not the player's name. "Mohamed Sherif Mikkawi" wears "Mikkawi",
and across 495 players not one shirt name equalled the full name — so it cannot
be derived and has to be stored. product_customizations can already ask for it
at the till, but that answer belongs to one sale and freezes onto that invoice;
the club still needs to know what this player's shirt says, before and after any
particular kit is bought.
school_name is asked at registration everywhere and is what an academy plans
term times and school fixtures around.
previous_clubs is free text on purpose. A transfer history is a sentence —
"Wadi Degla then Zed" — not a foreign key, and a clubs table would force the
desk to resolve every spelling before it could record anything at all. The same
roster spells one club four ways.
Full slice: migration, model, service, form, show view. All three nullable and
additive, each guarded by hasColumn, so the migration is safe against every
populated tenant and nothing reads them until something writes them.
Co-Authored-By:
Claude Opus 5 (1M context) <noreply@anthropic.com>
Showing
Please register or sign in to comment