【问题标题】:Rails created_at not being set for new records on HerokuRails created_at 未设置为 Heroku 上的新记录
【发布时间】:2015-08-01 00:59:33
【问题描述】:

Rails 4.2.1

我刚刚在我的数据库中添加了一个用于消息的新表,由于某种原因,没有添加默认情况下由 rails 迁移生成的正常 created_at 和 updated_at 时间戳,因此我无法使用 @message 访问它们。 created_at。我自己添加了一个新的迁移,它在我的本地机器上进行开发,但是当我推入 heroku 并迁移 heroku 上的数据库时,created_at 和 updated_at 字段在创建新消息时被设置为 nil。

有什么想法吗?

【问题讨论】:

  • 如果您查看您的 CreateMessage(或任何您称之为的)迁移文件,您是否看到类似 't.timestamps null: false' 的行?
  • 不,这里是迁移类 CreateMessages
  • 然后这是另一个向消息添加时间戳的迁移,就像我说的那样在开发类 AddTimestampsToMessages
  • 所以我只需要按照这里的建议添加我自己的自定义日期时间字段来解决这个问题stackoverflow.com/a/15422740/2511012

标签: ruby-on-rails activerecord heroku timestamp


【解决方案1】:

Rails creating records with timestamps set to nil, 'heroku restart' solves it 帮助了我。我有一个新的迁移,添加了一个时间戳列。我在 heroku 上运行了 db:migrate 但一直出错。 heroku restart -a app_name 为我修复了它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多