Я видел несколько вопросов (а именно этот ) здесь, в 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
.