Я видел несколько вопросов (а именно этот ) здесь, в SO, о добавлении логического значения по умолчанию в существующий столбец. Так что я попробовал change_columnпредложение, но я не должен делать это правильно.
Я попытался:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Который возвращается -bash: change_column: command not found
Я тогда побежал:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...и
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Затем побежал rake db:migrate, но ценность для :show_attributeосталась nil. В вопросе, на который я ссылался выше, говорится, что в PostgreSQL вам необходимо обновить его вручную. Так как я использую PostgreSQL, я добавил следующее в свою create_profilesмиграцию:
t.boolean :show_attribute, :default => true
Может кто-нибудь сказать мне, что я здесь делаю не так?
upметоде миграции, который является новым классом, который будет сгенерирован в db / migrate /. (downМетод должен быть написан, чтобы отменить то, чтоupделает.) Затем внесите это изменениеrake db:migrate.