Ruby on rails 我应该使用哪种类型来存储最新的日期?
我想在数据库中存储事件的日期,但我不想存储秒或小于秒的信息。使用Rails,在我的迁移中,我可以选择创建一个Ruby on rails 我应该使用哪种类型来存储最新的日期?,ruby-on-rails,database,datetime,date,types,Ruby On Rails,Database,Datetime,Date,Types,我想在数据库中存储事件的日期,但我不想存储秒或小于秒的信息。使用Rails,在我的迁移中,我可以选择创建一个date列或datetime列,其中第一个列的精度太低,第二个列的精度太高(直到第二个列)。我应该选择哪种类型来存储这样的日期?目前,我正在使用datetime并在每次模型中设置某个日期时手动将秒数设置为固定值(例如0) 大概是这样的: self.date ||= Time.now.change(:sec => 0) 我完全偏离轨道了吗?我应该为日期的每个组成部分使用一个整数字段吗
date
列或datetime
列,其中第一个列的精度太低,第二个列的精度太高(直到第二个列)。我应该选择哪种类型来存储这样的日期?目前,我正在使用datetime
并在每次模型中设置某个日期时手动将秒数设置为固定值(例如0)
大概是这样的:
self.date ||= Time.now.change(:sec => 0)
我完全偏离轨道了吗?我应该为日期的每个组成部分使用一个整数字段吗?(年、月、日等)或者
datetime
是正确的类型,但我不理解它的用途?(我认为这是指时间戳和秒数很重要的东西)datetime
是正确的类型。并确保在UTC时区不带时区地存储它:
根据您的选择,使用SQL触发器将日期舍入到插入/更新时的分钟。它将简化您的ruby代码。
datetime
是正确的类型。并确保在UTC时区不带时区地存储它:
根据您的选择,使用SQL触发器将日期舍入到插入/更新时的分钟。它将简化您的ruby代码。是的,
datetime
是正确的类型。您唯一的其他选项是varchar
或只是一个普通的时间戳
/int
列。但是与datetime
相比,这些都有其他缺点,您仍然需要手动删除该值的秒数。是的,datetime
是正确的类型。您唯一的其他选项是varchar
或只是一个普通的时间戳
/int
列。但是,与datetime
相比,这些都有其他缺点,您仍然需要手动降低秒数。