Как сохранить год в приложении Rails

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

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

Ответ 1

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

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

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

Ответ 2

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

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