【发布时间】:2010-05-21 11:50:17
【问题描述】:
我的 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)'
但是在这种情况下强制转换不起作用,因为某些列是空的...
有什么想法吗?
错误:
PGError: ERROR: invalid input syntax for integer: ""
: ALTER TABLE table1 ALTER COLUMN columnB TYPE integer USING CAST(columnB AS INTEGER)
Postgres v8.3
【问题讨论】:
-
您使用的是哪个版本的 postgres?对我有用
-
顺便说一句:迁移到底有什么问题?
标签: ruby-on-rails postgresql migration types alter-table