我已经用谷歌搜索了一下,似乎对我的问题没有满意的答案。
我有一个包含字符串类型列的表。我想运行以下迁移:
class ChangeColumnToBoolean < ActiveRecord::Migration
def up
change_column :users, :smoking, :boolean
end
end
当我运行它时,我收到以下错误
PG::Error: ERROR: column "smoking" cannot be cast automatically to type boolean
HINT: Specify a USING expression to perform the conversion.
: ALTER TABLE "users" ALTER COLUMN "smoking" TYPE boolean
我知道我可以使用纯 SQL 执行此迁移,但如果我可以使用 Rails 执行此迁移会更好。我浏览了 Rails 代码,似乎没有这种可能性,但也许有人知道方法?
我不感兴趣: - 纯 SQL - 删除列 - 创建另一列,转换数据,删除原始然后重命名