Tengo el problema, que tengo una migración en Rails que establece una configuración predeterminada para una columna, como este ejemplo:
def self.up
add_column :column_name, :bought_at, :datetime, :default => Time.now
end
Supongamos que me gusta eliminar esa configuración predeterminada en una migración posterior, ¿cómo hago eso con el uso de migraciones de rieles?
Mi solución actual es la ejecución de un comando sql personalizado en la migración de rails, así:
def self.up
execute 'alter table column_name alter bought_at drop default'
end
Pero no me gusta este enfoque, porque ahora dependo de cómo la base de datos subyacente está interpretando este comando. En caso de un cambio en la base de datos, esta consulta tal vez no funcione más y la migración se interrumpiría. Entonces, ¿hay alguna manera de expresar el deshacer de una configuración predeterminada para una columna en rieles?
CHARACTER VARYING
columnas, solo configúrelo enNULL::character varying
.