Arenile funziona con SQLite (predefinito) o PostgreSQL, con lo stesso codice e le stesse garanzie: ogni
test di integrazione e di concorrenza gira su entrambi.
SQLite (predefinito)
Un file (/data/arenile.db) in modalità WAL, nessun servizio in più da gestire, backup con un comando.
Ideale per uno o pochi stabilimenti: un lido intero, con la cassa, la spiaggia e le prenotazioni online
nello stesso momento, è un carico piccolo per SQLite.
PostgreSQL
Consigliato con molti stabilimenti nella stessa installazione, con più istanze di Arenile in parallelo o se
hai già un PostgreSQL gestito con backup e monitoraggio. Si attiva con DATABASE_URL.
Nessuna doppia vendita su entrambi: l’unicità di una postazione per data e fascia è un vincolo del
database, e i contatori a quantità usano aggiornamenti condizionali, identici nei due dialetti.
Stesse funzioni, stesse API, stesse migrazioni (una coppia per ogni versione dello schema).
Date di calendario come YYYY-MM-DD, istanti in UTC, importi in centesimi interi.
Il passaggio di un’installazione esistente non è automatico. Il modo più sicuro è farlo fuori stagione:
esporta i dati che ti servono, avvia una nuova installazione su PostgreSQL e reimporta la configurazione.
Se gestisci un solo lido, rimanere su SQLite è quasi sempre la scelta migliore.