# Created\_on, created\_at defaulting to 2000/01/01 00:00:00

**URL:** <https://www.ruby-forum.com/t/created-on-created-at-defaulting-to-2000-01-01-0000/50676>\
**Category:** Rails\
**Created:** [December 19, 2005, 10:12pm UTC](https://www.ruby-forum.com/t/created-on-created-at-defaulting-to-2000-01-01-0000/50676 "2005-12-19T22:12:09Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![churp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f14d63/32.png) [@churp](https://www.ruby-forum.com/u/churp)\
**Post date:** [December 19, 2005, 10:12pm UTC](https://www.ruby-forum.com/t/created-on-created-at-defaulting-to-2000-01-01-0000/50676/1 "2005-12-19T22:12:09Z")

</div>

Hello all,

Rails 1.0.0  
created\_on is being set to 2000/01/01 00:00:00

Any ideas on this ?

Thanks!

Schema is  
create table user\_login\_history (  
id int identity(1,1) not null,  
user\_id int not null,  
created\_on datetime default(getdate()) not null,  
created\_at datetime default(getdate()) not null,  
updated\_on datetime default(getdate()) not null,  
constraint pk\_user\_login\_history primary key clustered (id),  
constraint fk\_user\_login\_history\_users foreign key (user\_id) references  
users(id)  
)

ruby script/console

> > Time.now  
> > =\> Mon Dec 19 14:39:53 Central Standard Time 2005
> 
> > ulh = UserLoginHistory.new({:user\_id=\>1})  
> > =\> #\<UserLoginHistory:0x3a0cde8 @attributes={“created\_on”=\>Sat Jan 01  
> > 00:00:00 Central Standard Time 2000, “updated\_on”=  
> > Sat Jan 01 00:00:00 Central Standard Time 2000, “user\_id”=\>1,  
> > “created\_at”=\>Sat Jan 01 00:00:00 Central Standard Time 2  
> > 000}, @new\_record=true\>
> 
> >

?\> ulh.save  
=\> true

> > ulh  
> > =\> #\<UserLoginHistory:0x3a0cde8 @attributes={“created\_on”=\>Sat Jan 01  
> > 00:00:00 Central Standard Time 2000, “updated\_on”=  
> > Mon Dec 19 15:08:52 Central Standard Time 2005, “id”=\>“4”, “user\_id”=\>1,  
> > “created\_at”=\>Sat Jan 01 00:00:00 Central Stan  
> > dard Time 2000}, @errors=#\<ActiveRecord::Errors:0x3a07a30 @errors={},  
> > @base=#\<UserLoginHistory:0x3a0cde8 …\>\>, @new\_rec  
> > ord=false\>
> 
> >

–

---

<div class="post-metadata">

**Author:** ![churp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f14d63/32.png) [@churp](https://www.ruby-forum.com/u/churp)\
**Post date:** [December 19, 2005, 10:32pm UTC](https://www.ruby-forum.com/t/created-on-created-at-defaulting-to-2000-01-01-0000/50676/2 "2005-12-19T22:32:15Z")

</div>

Peter

Why are you giving default values to those datetime fields? By default,  
Rails automatically updates ‘created\_at’ and ‘updated\_at’, so you never  
have to set them.

I would just remove the “default …” and see what happens.

Alain

---

<div class="post-metadata">

**Author:** ![churp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f14d63/32.png) [@churp](https://www.ruby-forum.com/u/churp)\
**Post date:** [December 19, 2005, 10:42pm UTC](https://www.ruby-forum.com/t/created-on-created-at-defaulting-to-2000-01-01-0000/50676/3 "2005-12-19T22:42:40Z")

</div>

Hi,

First: you only need 1 “created” date/time field (named either  
created\_at OR  
created\_on) (the same rule applies to the “updated” date/time)

Second: can you show us your user login history model .rb code?

Regards,  
EJC

---

<div class="post-metadata">

**Author:** ![churp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f14d63/32.png) [@churp](https://www.ruby-forum.com/u/churp)\
**Post date:** [December 19, 2005, 11:09pm UTC](https://www.ruby-forum.com/t/created-on-created-at-defaulting-to-2000-01-01-0000/50676/4 "2005-12-19T23:09:51Z")

</div>

On 12/19/05, Ed C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > )
> > 
> > > >
> > 
> > [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

HI Ed,

I actually solved this one. Using defaults on the created\_on/updated\_on  
fields short-circuits the “magic field names” functionality specified in  
active\_record/lib/active\_record/timestamp.rb.

I removed teh default constraints from teh database and now the AR  
objects  
are behaving as expected with magic field names.

Regards,

–
