views:

24

answers:

1

This is a follow up to this question: http://stackoverflow.com/questions/2930256/unique-responses-rails-gem

I'm going to create an index based on the user id, url and a date type.

I want date type (not datetime type) because I want the day, the 24 hour day to be part of the index to avoid duplication of page views counts on the same day.

In other words: A view only counts once in a day by a visitor.

I also want the default value of that column (viewdate) to be the function GETDATE().

This is what I have in my migration:

execute "ALTER TABLEpage_viewsADD COLUMN viewdate datetime DEFAULTGETDATE()`"

But the value viewdate is always empty. What am I missing?

(as an aside, any other suggestions for accomplishing this goal?)

A: 

You're declaring the column as datetime type, not as date. Also I'm not sure MySQL supports default value seeding when altering the table.

Try this:

execute "ALTER TABLE page_views ADD COLUMN viewdate DATE"
PageView.update_all('viewdate=CURDATE()')
Eimantas