Migração de Rails: remover restrições

135

Eu tenho uma tabela em um aplicativo Rails que (em schema.rb) se parece com:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address", :null=>false
end

Eu gostaria de escrever uma migração de trilhos para permitir nulos para o campo de endereço. ou seja, após a migração, a tabela fica assim:

create_table "users", :force => true do |t|
   t.string "name", :null=>false
   t.string "address"
end

O que preciso fazer para remover a restrição?

Jay Godse
fonte

Respostas:

247

No Rails 4+, para remover restrições não nulas, você pode usar change_column_null:

change_column_null :users, :address, true
deepak
fonte
Você realmente tentou isso? Se você olhar o código fonte da função, não verá nada além de:raise NotImplementedError, "change_column_null is not implemented"
drusepth
3
usei no postgresql. O rails o define no adaptador específico do banco de dados, veja postgres , mysql . pode procurar outras pessoas no apidock . Então, terá que verificar o adaptador de banco de dados para apoio, no caso de alguém recebe umNotImplementedError
Deepak
1
Voto a favor! Aqui está o link para os guias do Rails também.
McKain
1
Esta deve ser a resposta escolhida
nahtnam