Eu tenho o problema, que eu tenho uma migração no Rails que define uma configuração padrão para uma coluna, como este exemplo:
def self.up
add_column :column_name, :bought_at, :datetime, :default => Time.now
end
Suponha que eu gostaria de eliminar essas configurações padrão em uma migração posterior. Como faço isso usando migrações de trilhos?
Minha solução atual é a execução de um comando sql personalizado na migração de rails, assim:
def self.up
execute 'alter table column_name alter bought_at drop default'
end
Mas não gosto dessa abordagem, porque agora estou dependente de como o banco de dados subjacente está interpretando esse comando. Em caso de alteração do banco de dados, talvez essa consulta não funcione mais e a migração seja interrompida. Então, existe uma maneira de expressar o desfazer de uma configuração padrão para uma coluna nos trilhos?
CHARACTER VARYING
colunas, apenas defina-o comoNULL::character varying
.