Evite a exceção ActiveRecord “coluna desconhecida ‘table.column’ in ‘lista de campos'” entre descartar a coluna e reiniciar o aplicativo

Se você apenas executar a migração com a instrução drop column, o ActiveRecord em sua instância do aplicativo continuará a emitir consultas com itens não existentes na lista de colunas, causando exceções.

Para evitar o tempo de inatividade, implante este initialzier antes de eliminar as colunas.

model = MyModel
column_names
= %w{ first_column second_column }

columns
= model.columns.select do |c|
column_names
.include?(c.name)
end

columns
.each do |c|
model
.columns.delete(c)
end