Migrazioni
Import calendario Wash Dog + reset clienti
Reset di clienti/cani/appuntamenti in produzione e import dallo storico Google Calendar
Import calendario Wash Dog + reset clienti
Data: 2026-07-05.
Obiettivo
Azzerare i dati anagrafici/operativi di produzione (clienti di test accumulati)
e ripopolare wash_dog_db a partire dall'export Google Calendar del cliente
(ferrara@washdog.it.ics, 1683 eventi 2021-2026).
Scope deciso col cliente
- Solo eventi futuri (dal 2026-07-05): 128 eventi → 96 appuntamenti importabili.
- Voci non-appuntamento scartate (ferie/chiusure, note personali, slot "Open").
- Clienti: consolidati per nome + telefono; cognome mancante →
ASSENTE; telefono mancante (88% dei casi) → placeholder0000000000. - Cani: taglia/pelo inferiti dalla razza (default media/corto); razza nel campo
breed. - Servizi: creati i 10 tipi trovati nell'export (Bagno, Bagno + taglio, ecc.), prezzo 0 da impostare. I 6 servizi preesistenti restano.
Sicurezza
- Backup completo pre-operazione:
pg_dump -Fcdiwash_dog_dbin~/Documents/OBELICA SERVER/backups-manuali/wash_dog_db-pre-reset-20260705-152251.dump(295 KB, 40 blocchi TABLE DATA). Restore:pg_restore --clean --if-exists -d <url> <dump>. - Verifica del target:
DATABASE_URLdi produzione punta al poolwash_dog_pool→ databasewash_dog_db(2077 clienti pre-reset, coerente con quanto atteso). - SQL validato prima su DB locale (stessa schema) in transazione con ROLLBACK.
- Esecuzione in transazione singola (
psql -1 -v ON_ERROR_STOP=1).
Risultato
| Tabella | Pre | Post |
|---|---|---|
| customers | 2077 | 76 |
| dogs | 187 | 95 |
| appointments | 122 | 96 |
| services | 6 | 16 (+10 creati) |
appointment_dogs: 108 · appointment_items: 70. Smoke test admin/staff 200 OK.
Pendenze
- ~15 eventi futuri senza proprietario estraibile (es. "Ice x/12" a pacchetto, "Azzini Elisabetta" cognome+tel senza "di") scartati e da recuperare a mano se serve.
- Prezzi dei servizi creati a 0.
- Possibili clienti omonimi da accorpare (Anna Maria/Anna, Sara con/senza tel).
- Storico pre-2026-07-05 (~1550 eventi) non importato.