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





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