Я заметил, что мое приложение 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 иified_at не хранят время. Я проверил базу данных и работает нормально, она хранит правильное время.
EDIT:
Проверка журналов Я обнаружил, что активная запись устанавливает дату без времени. Active Record не поддерживает дату и время?
UPDATE `campaigns` SET `updated_at` = '2011-06-10', `send_in_date_time` = '2011-09-19' WHERE `campaigns`.`id` = 1