рельсы: тип даты и GetDate - PullRequest
0 голосов
/ 31 мая 2010

Это продолжение этого вопроса: Уникальные ответы рельсов, камень

Я собираюсь создать индекс на основе идентификатора пользователя, URL-адреса и типа даты.

Мне нужен тип даты (не тип datetime), потому что я хочу, чтобы день, 24-часовой день был частью индекса, чтобы избежать дублирования количества просмотров страниц в тот же день.

Другими словами: просмотр учитывается только один раз в день посетителем.

Я также хочу, чтобы значением по умолчанию для этого столбца (viewdate) была функция GETDATE().

Вот что я имею в своей миграции:

execute "ALTER TABLE page_views ADD COLUMN viewdate datetime DEFAULT GETDATE () `"

Но значение viewdate всегда пусто. Что мне не хватает?

(в дополнение, есть ли другие предложения для достижения этой цели?)

1 Ответ

0 голосов
/ 24 июня 2010

Вы объявляете столбец как тип даты и времени, а не как дату. Также я не уверен, что MySQL поддерживает заполнение значений по умолчанию при изменении таблицы.

Попробуйте это:

execute "ALTER TABLE page_views ADD COLUMN viewdate DATE"
PageView.update_all('viewdate=CURDATE()')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...