public-clubsy

Caricamento struttura sportiva tramite modello (CSV)

Obiettivo

Permettere il caricamento massivo di categorie, leghe e squadre nella stagione attiva del club da un modello CSV.

Questa guida documenta il comportamento realmente implementato nella schermata struttura sportiva.

Dove si usa

File di riferimento

Formato obbligatorio CSV

Intestazioni richieste (ordine consigliato):

entity,name,category,league

Colonne

Regole di validazione

L’import valida prima di inserire:

  1. Il file deve avere almeno intestazione + 1 riga dati.
  2. Devono esistere colonne entity e name.
  3. Se entity=team, category e league sono obbligatorie.
  4. entity fuori da category|league|team e errore.
  5. Per squadre, categoria/lega devono esistere:
    • in DB stagione attiva, oppure
    • nello stesso file (se create in righe category/league).

Se ci sono errori di validazione, l’import non viene eseguito e viene mostrato un riepilogo errori.

Comportamento inserimento

Normalizzazione testo

Prima di confrontare/inserire:

Esempio:

Esempio valido

entity,name,category,league
category,Senior,,
category,Giovanile,,
league,Oro,,
league,Argento,,
team,Squadra Senior A,Senior,Oro
team,Squadra Senior B,Senior,Argento
team,Squadra Giovanile A,Giovanile,Argento

Risultato atteso:

Esempio non valido

entity,name,category,league
team,Squadra senza lega,Senior,
foo,Voce sconosciuta,,
team,,Senior,Oro
team,Squadra con riferimento mancante,U13,Oro

Errori attesi:

Flusso operativo consigliato

  1. Scaricare modello base.
  2. Compilare prima categorie e leghe.
  3. Compilare squadre referenziando nomi esatti categoria/lega.
  4. Importare modello.
  5. Verificare riepilogo creazione.
  6. Ripetere se ci sono errori con dati corretti.

Buone pratiche

Ambito attuale

Questa importazione copre:

Non copre ancora:

Troubleshooting

“CSV requires columns: entity,name,category,league”

L’intestazione non coincide. Verificare prima riga.

“Template has no data”

Il file ha solo intestazione o e vuoto.

“team requires category and league”

Riga squadra incompleta.

“category/league does not exist”

Aggiungere riga creazione nello stesso CSV o creare prima in app.