Ich hatte ursprünglich eine Tabelle mit der Spalte als erstellt
t.string "email", :default => "", :null => false
Die Anforderung hat sich geändert und jetzt muss ich zulassen, dass E-Mail null ist. Wie kann ich eine Migration schreiben, um Folgendes auszuführen: null => true
ruby-on-rails-3
migration
Pykih
quelle
quelle
Antworten:
Versuchen:
change_column :table_name, :email, :string, :null => true
quelle
change_column_null
da dieschange_column
in bestimmten Versionen möglicherweise nicht funktioniertIch konnte die obige Lösung nicht für Active Record 4.0.8 und Postgresql 9.3 verwenden
Allerdings change_column_null perfekt gearbeitet.
change_column_null :users, :email, true
Die Rückseite bietet eine nette Option, um vorhandene Datensätze zu aktualisieren (aber nicht den Standard festzulegen), wenn null nicht zulässig ist.
quelle
change_column_default
zusammen zu verwenden, wenn Sienull
der Standardspaltenwert sein möchten . Sonst wird es seinfalse
oder0
.