2008-10-14 26 views
10

Tôi muốn lưu trữ năm ở một trong các mô hình của mình. Tại thời điểm này tôi chỉ có một trường cơ sở dữ liệu được gọi là năm loại ngày, nhưng có vẻ như muốn lấy một ngày toàn bộ (yyyy-mm-dd) thay vì chỉ một năm.Cách lưu trữ năm trong ứng dụng Rails

Cách tốt nhất để lưu trữ điều này là gì? Trong một trường ngày nhưng sử dụng một số cách để nhận được nó để lưu trữ bit ngày (trong trường hợp này, như thế nào?), Hoặc trong một trường int, hoặc một trường chuỗi hoặc cái gì? Trong một số cách sử dụng một trường int cảm thấy sai, nhưng nó có thể là dễ nhất.

Trả lời

7

Tùy thuộc vào phạm vi ngày có thể. Nếu ngày của bạn đi từ BC đến tương lai xa (tiêu cực đến sau đó 4 chữ số), nó sẽ là dễ nhất để lưu trữ một số nguyên (chỉ vì lý do phân loại). Điều này cũng đúng nếu bạn muốn tính toán hoặc so sánh ngày tháng.

Nếu không, tôi có thể sẽ đi với một chuỗi.

Sử dụng trường ngày sử dụng ngày 1 tháng 1 và trích phần năm khi hiển thị.

4

Tôi khuyên bạn không nên sử dụng ngày được chọn tùy ý trong trường ngày trên cơ sở bảo trì. Bạn sẽ biết bạn đã tự ý chọn tùy chọn này nhưng sẽ tiếp tục duy trì ứng dụng của bạn?

Tôi muốn đi với một int bởi vì theo cách đó bạn không lưu trữ bất cứ điều gì khác hơn những gì bạn có nghĩa là để lưu trữ và không thể có nhiều nhầm lẫn về ý nghĩa của nó.

Các vấn đề liên quan