Как преобразовать столбец таблицы в другой тип данных

У меня есть столбец с типом Varchar в моей базе данных Postgres, который я хотел обозначить как целые числа ... и теперь я хочу изменить их, к сожалению, это не работает с моей миграцией rails.

change_column :table1, :columnB, :integer

Который, кажется, выводит этот SQL:

ALTER TABLE table1 ALTER COLUMN columnB TYPE integer

Итак, я попытался сделать это:

execute 'ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER)'

но приведение не работает в этом случае, потому что некоторые столбцы являются нулевыми ...

есть идеи?

Ошибка:

PGError: ERROR:  invalid input syntax for integer: ""
: ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER)

Postgres v8.3

Ответы на вопрос(2)

Ваш ответ на вопрос