change_column_null für die vorhandene Spalte

7

Ich versuche die nil Möglichkeit eines booleschen Attributs in der vorhandenen Spalte :access_titles in der Tabelle :profiles zu ändern. Diese Spalte existiert aufgrund dieser Migration:

%Vor%

Um nil zu ändern, habe ich versucht, eine Migration wie immer zu erzeugen:

%Vor%

Aber das hat nichts getan, also habe ich eine Standalone-Migration gemacht:

%Vor%

Und innerhalb dessen fügte ich hinzu:

%Vor%

Ich lief dann rake db:migrate , startete meinen Server neu und sah keine Änderungen. Also habe ich es versucht:

%Vor%

Dann hat das gleiche getan: rake db:migrate , den Server neugestartet und nichts geändert.

Was mache ich falsch? Ich hatte gehofft, nur den booleschen Wert von :access_items wahr und falsch zu haben, ohne die Datenbank ausgeben zu müssen.

UPDATE: Versuch change_column_null :profiles, :access_items, false Ich habe einen Fehler erhalten:

%Vor%

Also, nach dem folgenden Ratschlag musste ich change_column_null :profiles, :access_items, false, true in meine Migration einfügen.

    
tvalent2 21.01.2012, 16:55
quelle

1 Antwort

21

Sie können verwenden:

%Vor%

Der vierte Parameter ist optional und ermöglicht Ihnen, den Standardwert für die Spalte festzulegen. Dies ist erforderlich, wenn Sie Nullen in einer Spalte haben und den Nullwert auf false setzen.

    
Frederick Cheung 21.01.2012, 17:13
quelle

Tags und Links