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?

Respostas:



247

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

change_column_null :users, :address, true

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.