Когда я сохраняю запись квартиры в рельсах, она по какой-то причине обновляет поле updated_on и поле create_on. Я не могу понять, как / почему поле create_on обновляется.
Чтобы попытаться отладить ситуацию, я открыл окно консоли и сделал следующее
t = Apartment.find(11619)
t.beds = 4
t.save
Когда я проверяю свой лог-файл, я вижу следующее
SQL (0.0ms) BEGIN
Apartment Load (0.0ms) SELECT `apartments`.id FROM `apartments` WHERE (`apartments`.`unit_num` = BINARY '2005' AND `apartments`.building_id = 17755 AND `apartments`.id <> 11619) LIMIT 1
Apartment Load (0.0ms) SELECT * FROM `apartments` WHERE (`apartments`.`id` = 11619)
Apartment Update (0.0ms) UPDATE `apartments` SET `beds` = 4.0, `updated_on` = '2010-07-31 19:54:10' WHERE `id` = 11619
SQL (0.0ms) COMMIT
Показывает только измененное поле updated_on!
Так что я думаю, вопрос в том, что могло бы изменить мое значение create_on, но не отображаться в файле журнала rails?
РЕДАКТИРОВАТЬ: я знаю, что поле create_on меняется, потому что, когда я делаю запрос sql для проверки, значение обновляется, чтобы быть таким же, как поле updated_on. Кроме того, я показываю значение create_on своим пользователям, что и привлекло мое внимание к этой ошибке.
EDIT2: определение таблицы следующее. Кажется, я решил свою проблему, изменив значение по умолчанию с «CURRENT_TIMESTAMP» на «0000-00-00 00:00:00», хотя я не понимаю, почему это будет иметь значение?
Field Type Null Key Default Extra
id int(10) unsigned NO PRI \N auto_increment
building_id int(10) unsigned YES MUL 0
unit_num varchar(45) YES
beds float YES MUL \N
rent int(10) unsigned YES MUL 0
date_available date YES \N
on_market tinyint(1) YES 0
floor varchar(10) YES \N
fee_paid int(10) YES 0
note blob YES \N
created_by int(10) unsigned YES 1
updated_by int(10) unsigned YES 1
created_on timestamp NO CURRENT_TIMESTAMP
updated_on timestamp NO 0000-00-00 00:00:00
lease_expiration_date date YES \N
on_market_date date YES \N
off_market_date date YES \N
tenant_name varchar(40) YES \N
tenant_number varchar(40) YES \N
baths float YES 1
public_note blob YES \N
public_title text YES \N
key_note blob YES \N
status varchar(40) YES Off Market
app_pending tinyint(1) YES 0
app_pending_date date YES \N