gpt4 book ai didi

ruby-on-rails - sqlite3 数据库中的日期在 Rails 中返回为 nil

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:38 24 4
gpt4 key购买 nike

我一直在想如何设计这个问题,这样 Google 就会给我一个相关的结果,因为它必须是我遗漏的非常简单的东西。我使用以下命令创建了一个简单的单表 Rails 应用程序:

rails g scaffold sick name:text sick_day:date shift:text hours:decimal

我运行了 rake db:migrate 并且运行良好。然后我使用 Firefox 中的 SQLite Manager 导入数据。这是 CSV 文件的前三行:

name,sick_day,shift,hours,created_at,updated_at
"Doe, Jane",3/3/2015,C,24,4/12/16,4/12/16
"Smith, John",1/20/2015,C,4,4/12/16,4/12/16
"Smith, John",3/27/2015,C,24,4/12/16,4/12/16

我使用 Excel 插入了 created_at 和 updated_at 日期,因为它们是 not_null 字段。它很好用。我可以使用 SQLite Manager 浏览数据库并查看所有内容:

data sample

但是当我使用 Rails 控制台查询数据库时,我得到:

Sick Load (3.2ms)  SELECT  "sicks".* FROM "sicks" LIMIT 3
=> #<ActiveRecord::Relation [
#<Sick name: "Doe, Jane", sick_day: "2015-03-03 00:00:00", shift: "C", hours: 24.0, created_at: "2004-12-16 00:00:00", updated_at: "2004-12-16 00:00:00">,
#<Sick name: "Smith, John", sick_day: nil, shift: "C", hours: 4.0, created_at: "2004-12-16 00:00:00", updated_at: "2004-12-16 00:00:00">,
#<Sick name: ""Smith, John", sick_day: nil, shift: "C", hours: 24.0, created_at: "2004-12-16 00:00:00", updated_at: "2004-12-16 00:00:00">]>

知道为什么我的日期为零吗?他们肯定在数据库中,我不明白为什么它会理解某些日期而不理解其他日期?我错过了什么?

最佳答案

我修复了它,但它不起作用似乎仍然很奇怪。我尝试将 CSV 文件更改为:

name,sick_day,shift,hours,created_at,updated_at
"Doe, Jane",3/3/15,C,24,4/12/16,4/12/16
"Smith, John",1/20/15,C,4,4/12/16,4/12/16
"Smith, John",3/27/15,C,24,4/12/16,4/12/16

然后重新导入,还是不行。然后我使用 Excel 更改格式并将其转换为以下格式的实际文本列:

name,sick_day,shift,hours,created_at,updated_at
"Doe, Jane",2015/3/3,C,24,4/12/16,4/12/16
"Smith, John",2015/1/20,C,4,4/12/16,4/12/16
"Smith, John",2015/3/27,C,24,4/12/16,4/12/16

并重新导入它。现在 Rails 很高兴。 ???

关于ruby-on-rails - sqlite3 数据库中的日期在 Rails 中返回为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36581892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com