sql >> Base de Datos >  >> RDS >> Mysql

Migración para cambiar el valor predeterminado de un campo y cambiar el valor de todos los registros existentes al nuevo valor predeterminado solo si tiene un valor predeterminado anterior.

En la migración, debe usar el método change_column para modificar la configuración de la tabla de esta manera:

change_column :my_models, :attribute_name, :integer, :default => 3

Y luego, para actualizar todos los registros existentes, en lugar de recorrer todos los registros y actualizarlos individualmente, puede usar el método update_all de esta manera:

MyModel.update_all({ :attribute_name => 3 }, { :attribute_name => 0 })

El primer argumento le dice al método qué valor establecer y el segundo le dice la condición para qué filas actualizar.