Ένα καλό schema είναι καθοδηγούμενο από τον client, nullable-by-default στα άκρα και εξελίξιμο χωρίς εκδόσεις. Μοντελοποιεί το domain με όρους που πραγματικά χρησιμοποιούν οι clients, όχι με τους πίνακες της βάσης δεδομένων σου.
Nullability
Κάνε ένα πεδίο non-null (!) μόνο όταν μπορείς να το επιστρέψεις. Η υπερβολική χρήση του είναι παγίδα: αν ένα non-null πεδίο σφάλλει, μηδενίζει ολόκληρο το parent αντικείμενό του, μετατρέποντας μια μικρή αποτυχία σε ένα μεγάλο κενό. Προτίμησε το nullable για οτιδήποτε εξαρτάται από ένα downstream service.
