Tengo una columna con el tipo de Varchar en mi base de datos de Postgres que quise decir que era enteros ... y ahora quiero cambiarlos, lamentablemente esto no parece trabajo usando mi migración de rieles.Cómo convertir una columna de tabla a otro tipo de datos
change_column :table1, :columnB, :integer
que parece salida de este SQL:
ALTER TABLE table1 ALTER COLUMN columnB TYPE integer
así que he intentado hacer esto:
execute 'ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER)'
pero fundido no funciona en este caso debido a que algunos de la columna son nulos ...
¿Alguna idea?
error:
PGError: ERROR: invalid input syntax for integer: ""
: ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER)
Postgres v8.3
la versión de postgres está usando? eso funciona para mí – ealdent
por cierto: ¿qué exactamente no funciona con la migración? –