PostgresデータベースにVarcharタイプの列があり、整数にするつもりでした...そして今、それらを変更したいのですが、残念ながら、これは私の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)'
ただし、一部の列がnullであるため、このインスタンスではキャストは機能しません。
何か案は?
エラー:
PGError: ERROR: invalid input syntax for integer: ""
: ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER)
Postgres v8.3