Как сохранить год в приложении Rails
-
03-07-2019 - |
Вопрос
Я хочу просто сохранить год выпуска в одной из моих моделей.На данный момент у меня просто есть поле базы данных с именем year типа date, но, похоже, оно хочет использовать целую дату (гггг-мм-дд), а не просто год.
Как лучше всего это хранить?В поле даты, но используя какой-то способ просто заставить его сохранить бит даты (в этом случае, как?), или в поле int, или в строковом поле, или еще в чем?В некотором смысле использование поля int кажется неправильным, но это может быть самым простым.
Решение
Это зависит от диапазона возможных дат.Если ваши даты идут от BC до далекого будущего (минус более 4 цифр), было бы проще всего сохранить целое число (просто по соображениям сортировки).Это также верно, если вы хотите произвести расчеты или сравнить даты.
В противном случае я бы, вероятно, выбрал строку.
Используя поле даты, используйте 1 января и извлеките часть года при отображении.
Другие советы
Я бы не советовал использовать произвольно выбранную дату в поле даты из соображений удобства обслуживания.Вы будете знать, что выбрали это произвольно, но будут ли последующие сопровождающие вашего приложения?
Я бы выбрал int, потому что таким образом вы не сохраняете ничего, кроме того, что вы имеете в виду для хранения, и не может быть большой путаницы в значении этого.