references rails migrations generate column ruby-on-rails database-design datetime

ruby-on-rails - migrations - rails generate model



Cómo almacenar el año en la aplicación Rails (2)

Aconsejaría no usar una fecha elegida arbitrariamente en un campo de fecha en función de la capacidad de mantenimiento. Sabrá que ha elegido arbitrariamente esto, pero ¿los mantenedores posteriores de su aplicación?

Me gustaría ir con una int porque de esa manera no estás almacenando nada más que lo que quieres almacenar y no puede haber mucha confusión sobre el significado de la misma.

Quiero simplemente almacenar el año en uno de mis modelos. Por el momento solo tengo un campo de base de datos llamado año de tipo fecha, pero parece querer tomar una fecha completa (aaaa-mm-dd) en lugar de solo un año.

¿Cuál es la mejor manera de almacenar esto? En un campo de fecha pero usando alguna forma de hacer que almacene el bit de fecha (en cuyo caso, ¿cómo?), O en un campo int, o un campo de cadena o qué? En cierto modo, usar un campo int parece incorrecto, pero podría ser el más fácil.


Depende del rango de fechas que sea posible. Si sus fechas van de BC a futuro lejano (negativo a más de 4 dígitos), sería más fácil almacenar un número entero (solo por razones de clasificación). Esto también es cierto si desea hacer cálculos o comparar fechas.

De lo contrario, probablemente iría con una cadena.

Usando un campo de fecha, use el 1 de enero y extraiga la parte del año cuando se muestre.