Ich habe die folgenden Schienen Migration:
%Vor%Alle Felder, die "NOT NULL" sind, werden zuerst im Modell validiert, also frage ich mich, ob ich mir erlauben muss, allow_null in der Migration zu haben? Ich bin nicht sicher, welche Vorteile "NOT NULL" der Datenbank gibt, falls vorhanden.
Nicht viel, wenn Sie in Bezug auf Leistung oder Speichereffizienz meinen. Es empfiehlt sich jedoch, so viele Low-Level-Constraints in die Datenbankebene zu übertragen. Zum einen garantiert es, dass ein subtiler Fehler in Rails nicht zu einigen zufälligen NULL
Daten in einem Nicht-Null-Feld führt. Wenn Sie jemals eine andere App für dieselbe Datenbank ausführen, ist es sehr hilfreich, die Einschränkungen an einem zentralen Ort für die Wartung zu haben und Doppelarbeit zu vermeiden.
NOT NULL ist eine weitere Sache, bei der der Computer Sie im Auge behält und Sie davon abhält, Fehler zu machen.
Tags und Links mysql ruby-on-rails migration null