Renombrando columnas en Rails
Publicado en ruby-on-rails el 02/09/10 a las 08:42 am
Me encuentro trabajando en un proyecto con Rails 3 y cometí la tontería de no respetar una de las convenciones, al escribir id_state a una de las columnas de mi tabla de base de datos.
La pregunta era ¿Como la renombro? sin afectar la info que ya tengo capturada.
La solución fue la siguiente:
1.- creamos una migración nueva:
$ rails g migration rename_column_id_state
2.- luego en nuestro archivo generado en db/migrate/ dentro de def self.up escribimos:
rename_column :cities, :id_state, :state_id
La sintaxis es la siguiente: rename_column (nombre_de_tabla, nombre_de_columna, nuevo_nombre_de_columna)
3.- Corremos la migración:
$ rake db:migrate
Y listo, tenemos nuestra columna renombrada. Sería bueno solo revisar no estar utilizando en ninguna vista el nombre anterior, para no crear conflictos.
Lo más curioso al final fue que gracias a este cambio, logre hacer funcionar otra línea de convención que no resolvía.