Как сохранить год в приложении Rails - PullRequest
10 голосов
/ 14 октября 2008

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

Какой лучший способ хранить это? В поле даты, но используя какой-то способ просто получить его для хранения бита даты (в каком случае, как?), Или в поле int, или в строковом поле, или как? В некоторых случаях использование поля int кажется неправильным, но оно может быть самым простым.

Ответы [ 2 ]

8 голосов
/ 14 октября 2008

Это зависит от диапазона дат, которые возможны. Если ваши даты идут от BC до далекого будущего (от отрицательных до более чем 4 цифр), было бы проще хранить целое число (только по причинам сортировки). Это также верно, если вы хотите сделать расчеты или сравнить даты.

В противном случае я бы, вероятно, пошел со строкой.

Используя поле даты, используйте 1 января и извлекайте часть года при отображении.

4 голосов
/ 15 октября 2008

Я бы не советовал использовать произвольно выбранную дату в поле даты на основе ремонтопригодности. Вы будете знать, что произвольно выбрали это, но будут ли последующие сопровождающие вашего приложения?

Я бы пошел с int, потому что таким образом вы не храните ничего, кроме того, что вы хотите хранить, и не может быть большого замешательства относительно его значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...