生成迁移时间戳的最佳方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成迁移时间戳的最佳方法相关的知识,希望对你有一定的参考价值。
我正在尝试生成rails迁移的时间戳,我将其作为rake任务的一部分从引擎复制到我的应用程序中。
以下工作正常,但由于rails已经做了同样的事情,我不知道是否有更好的方法来做到这一点?
Time.now.to_s.split(" ")[0..1].join(" ").gsub!(/\D/, "")
答案
@timestamp = Time.now.strftime("%Y%m%d%H%M%S")
另一答案
Time.now.utc.strftime("%Y%m%d%H%M%S")
另一答案
你可以使用timestamp.to_s(:number)。
还有其他格式:
:db # => "2007-12-04 00:00:00"
:number # => "20071204000000"
:short # => "04 Dec 00:00"
:long # => "December 04, 2007 00:00"
:long_ordinal # => "December 4th, 2007 00:00"
:rfc822 # => "Tue, 04 Dec 2007 00:00:00 +0000"
:iso8601 # => "2007-12-04T00:00:00+00:00"
另一答案
所以这可能是我在SO上创建的最具代表性的答案。接受的答案和@mambo的回答是正确的
Time.now.utc.strftime("%Y%m%d%H%M%S")
但。
如果你搜索(SO直接或谷歌)“如何创建像Rails迁移文件名这样的时间戳?”它不会引导你到这里来。但是,如果你开始输入那个作为你的问题标题,那么,它将仁慈地表达这个答案
所以,我没有问过一个关于如何使用Ruby创建一个世代日期时间的高度重复的问题,而是用关键字填充了这个答案,这些关键字有望被搜索算法选中,并为像我这样的未来问题回答这个问题。
另一答案
我做了同样的事情。我认为Rails的时间戳是最好的。 Rails有一个连接数据库的驱动程序,因此Rails将处理程序员的时间格式。程序员更改数据库时,程序员不必担心时间格式。
因此,我删除了由remove_column生成的timestamp列,并使用Rails提供的时间戳。 enter link description here
以上是关于生成迁移时间戳的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章