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_columnsugestã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_attributepermaneceu nil. Na pergunta mencionada acima, no PostgreSQL, você precisa atualizá-lo manualmente. Como estou usando o PostgreSQL, adicionei o seguinte na minha create_profilesmigração:
t.boolean :show_attribute, :default => true
Alguém pode me dizer o que estou fazendo de errado aqui?
upmétodo da migração, que é uma nova classe que será gerada em db / migrate /. (Odownmétodo deve ser escrito para desfazer o queupfaz.) Faça essa alteração, entãorake db:migrate.