web-dev-qa-db-fra.com

Rails Migration pour rendre une colonne null => true

J'avais initialement créé un tableau avec une colonne comme

t.string   "email",  :default => "", :null => false

L'exigence a changé et je dois maintenant autoriser la nullité des e-mails. Comment puis-je écrire une migration pour faire: null => true

66
Pykih

Essayer:

change_column :table_name, :email, :string, :null => true
84
Pratik Khadloya

Je n'ai pas pu faire fonctionner la solution ci-dessus avec Active Record 4.0.8 et Postgresql 9.3

Cependant change_column_null a parfaitement fonctionné.

change_column_null :users, :email, true

L'inverse a une option Nice pour mettre à jour les enregistrements existants (mais pas définir la valeur par défaut) lorsque null n'est pas autorisé.

78
user1309272