Eu já vi algumas perguntas (ou seja, essa ) aqui no SO sobre como adicionar um valor booleano padrão a uma coluna existente. Então tentei a change_column
sugestão, mas não devo estar fazendo certo.
Eu tentei:
$ change_column :profiles, :show_attribute, :boolean, :default => true
Que retorna -bash: change_column: command not found
Eu então corri:
$ rails g change_column :profiles, :show_attribute, :boolean, :default => true
...e
$ rails change_column :profiles, :show_attribute, :boolean, :default => true
Em seguida rake db:migrate
, correu , mas o valor para :show_attribute
permaneceu nil
. Na pergunta mencionada acima, no PostgreSQL, você precisa atualizá-lo manualmente. Como estou usando o PostgreSQL, adicionei o seguinte na minha create_profiles
migração:
t.boolean :show_attribute, :default => true
Alguém pode me dizer o que estou fazendo de errado aqui?
up
método da migração, que é uma nova classe que será gerada em db / migrate /. (Odown
método deve ser escrito para desfazer o queup
faz.) Faça essa alteração, entãorake db:migrate
.