Widziałem kilka pytań (a mianowicie to ) tutaj na SO o dodaniu domyślnej wartości boolowskiej do istniejącej kolumny. Więc wypróbowałem change_column
sugestię, ale nie mogę robić tego dobrze.
Próbowałem:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Który powraca -bash: change_column: command not found
Następnie pobiegłem:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...i
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Następnie pobiegł rake db:migrate
, ale wartość :show_attribute
pozostała nil
. W pytaniu, do którego nawiązałem powyżej, jest napisane, że w PostgreSQL musisz zaktualizować go ręcznie. Ponieważ używam PostgreSQL, dodałem podczas create_profiles
migracji:
t.boolean :show_attribute, :default => true
Czy ktoś może mi powiedzieć, co tu robię źle?
up
metodzie w migracji, która jest nową klasą, która zostanie wygenerowana w db / migrate /. (down
Należy napisać metodę, aby cofnąć to, coup
robi.) W takim razie wprowadź tę zmianęrake db:migrate
.