datetime 类型在mysql中默认精度只到秒解决⽅法如下

在Rails 4.2的Release Notes有下⾯⼀句话:

Added support for fractional seconds for MySQL 5.6 and above

可以看出Rails 4.2已经⽀持⽇期精度功能,关于mysql的fractional seconds功能可以

参考 mysql reference.

我们在Rails可以通过添加migrate⽂件来解决,具体如下:

  1. $ rails g migration ChangeCreatedAtToAuctionBids

在⽣成的⽂件中修改如下

  1. # mysql 5.6.4以上的版本⽀持分数精度(fractional seconds),默认mysql精度只到
  2. # limit 设为 6 精确到微妙;如将limit 修改为 3 则精确到毫秒
  3. class ChangeCreatedAtToAuctionBids < ActiveRecord::Migration
  4. def change
  5. # limit 置为 3 则精确到毫秒
  6. change_column :auction_bids, :created_at, :datetime, limit: 3
  7. end
  8. end
  1. $ rake db:migrate
  1. #新建⽂件config/initializers/filename.rb
  2. Time::DATE_FORMATS[:db] = "%Y-%m-%d %H:%M:%S.%3N"
0条评论 顺序楼层
请先登录再回复