【发布时间】:2016-06-24 18:00:24
【问题描述】:
我在开发过程中创建了一个迁移,以将我的客户表中的列类型从整数更改为日期。
迁移:
class UpdateGradToDate < ActiveRecord::Migration
def change
change_column :clients, :grad_id, :date
end
end
这在开发中运行良好。但是,一旦我将它推送到 Heroku,我就会收到以下错误消息。
PG::DatatypeMismatch: ERROR: column "grad_id" cannot be cast automatically to type date
HINT: You might need to specify "USING grad_id::date".
: ALTER TABLE "clients" ALTER COLUMN "grad_id" TYPE date
我不确定如何解决这个问题。我在想也许使用 rails 控制台并在那里更改列类型,但我不确定这是否是最好的解决方案。
我也尝试使用这种语法创建一个新的迁移
class ChangeDateFormatInMyTable < ActiveRecord::Migration
def up
change_column :clients, :grad_id, :integer
end
def down
change_column :clients, :grad_id, :date
end
end
我现在不确定该怎么做。
【问题讨论】:
-
grad_id怎么可能是约会对象?为什么不添加一个有意义的新列作为日期?
标签: ruby-on-rails ruby ruby-on-rails-4 heroku