Consideriamo uno scenario in cui un utente si registra in un determinato servizio che ha bisogno del suo sesso, compleanno e posizione per funzionare correttamente.
A volte vogliamo provare la registrazione con solo e-mail, quindi chiedere in seguito gli altri dettagli al fine di aumentare il tasso di conversione e non infastidire gli utenti.
In questo caso ci sono due soluzioni a cui posso pensare:
-
rende compleanno, genere e luogo come campi nullable nel database (place_id fa riferimento alla chiave primaria nella tabella dei luoghi, quindi sarà un indice nullable) e li imposta come null
-
inserisci semplicemente un valore predefinito (ex sempre maschio o un altro sesso non impostato, e ora compleanno, oppure crea un luogo fittizio con un determinato ID che internamente sappiamo che significa non impostato e lo usa come predefinito)
Il rischio con la soluzione 1 che posso pensare è che altre parti dell'applicazione (ex javascript frontend) possono incorrere in errori se non hanno una validazione molto dettagliata. Ad esempio, se mostriamo la posizione sulla mappa e ci aspettiamo di avere sempre l'id del luogo ma questo è nullable potrebbe verificarsi un errore.
Anche la seconda soluzione mi sembra "ombreggiata", potrebbe avere risultati inaspettati.
Ecco perché sono qui per chiederti in caso di suggerimenti per una soluzione migliore? Grazie in anticipo