【发布时间】:2011-06-10 21:14:31
【问题描述】:
我注意到我的 rails 3 应用程序正在保存没有时间部分的日期时间字段,只有日期。我正在使用 mysql。
我的迁移是这样的:
class CreateCampaigns < ActiveRecord::Migration
def self.up
create_table :campaigns do |t|
t.string :name
t.string :subject
t.string :from_name
t.string :from_email
t.string :reply_to
t.string :location
t.datetime :send_in_date_time
t.string :message
t.string :test_email
t.boolean :send_now
t.timestamps
end
end
def self.down
drop_table :campaigns
end
end
假设我创建了一个新广告系列并设置字段 send_in_date_time
campaign = Campaign.new
campaign.send_in_date_time = Time.now
campaign.save
在数据库中存储这个:
2011-09-20 00:00:00
create_at 和 modified_at 也不存储时间。我测试了数据库并且工作正常,它存储了正确的时间。
编辑:
查看日志我发现活动记录设置的是没有时间的日期。 Active Record 不支持良好的日期时间?
UPDATE `campaigns` SET `updated_at` = '2011-06-10', `send_in_date_time` = '2011-09-19' WHERE `campaigns`.`id` = 1
【问题讨论】:
标签: ruby-on-rails database datetime