我创建的迁移似乎会将列类型从datetime
更改为time
,但它仍然将内容存储为日期时间。
我的迁移看起来像这样:
class ChangeEventStartTime < ActiveRecord::Migration
def change
change_column :events, :start_time, :time
end
end
我运行迁移。一切都很好......当我检查列的类型时:
irb(main):010:0> Event.columns_hash["start_time"].type
=> :datetime
我还需要做些什么吗?
答案 0 :(得分:1)
确保您已运行迁移。
因为,如果MySQL类型是DATETIME
的{{1}},则Rails表示为TIMESTAMP
。但对于DateTime
和DATE
,Rails按原样表示:日期和时间。仅针对TIME
/ DATETIME
,Rails会为我们做出自动决定。其余的,它保持原样。