Ich habe hier auf SO einige Fragen (nämlich diese ) zum Hinzufügen eines booleschen Standardwerts zu einer vorhandenen Spalte gesehen. Also habe ich den change_column
Vorschlag ausprobiert , aber ich muss ihn nicht richtig machen.
Ich habe es versucht:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Welches kehrt zurück -bash: change_column: command not found
Ich rannte dann:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...und
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Dann lief rake db:migrate
, aber der Wert für :show_attribute
blieb nil
. In der Frage, auf die ich oben verwiesen habe, heißt es in PostgreSQL, dass Sie es manuell aktualisieren müssen. Da ich PostgreSQL verwende, habe ich bei meiner create_profiles
Migration Folgendes hinzugefügt :
t.boolean :show_attribute, :default => true
Kann mir jemand sagen, was ich hier falsch mache?
up
Methode in der Migration befinden. Hierbei handelt es sich um eine neue Klasse, die in db / migrate / generiert wird. (Diedown
Methode sollte geschrieben werden, um rückgängig zu machenup
.) Nehmen Sie diese Änderung dann vorrake db:migrate
.