【问题标题】:Rake file is seeing old version of database on HerokuRake 文件在 Heroku 上看到旧版本的数据库
【发布时间】:2014-09-03 18:21:18
【问题描述】:

我正在使用 rakefile 来播种我的数据库。我看到了奇怪的行为(请参阅Additional user attributes results in UnknownAttributeError and NoMethodError)并得出结论,它正在我的数据库的旧版本上运行(至少,我的用户表的旧版本,也许更多)。

  • 在 localhost 上运行 rakefile 工作正常
  • 在 Heroku 上,在 rakefile 中打印 User.column_names 会显示旧版本的表
  • 在 Heroku 上,从主应用程序中打印 User.column_names 会显示新版本的表格
  • 在 Heroku rails 控制台中,User.column_names 显示表的新版本

任何想法如何解决?

【问题讨论】:

    标签: postgresql heroku rake


    【解决方案1】:

    确保你在 heroku 上做的一件事是正确重启你的测功机。我的一个客户曾经尝试过这样的事情:

    heroku run rake db:migrate db:seed_data
    

    Heroku 在https://devcenter.heroku.com/articles/rake 的文档提到您应该在迁移之间重新启动您的应用程序:

    运行迁移后,您需要使用 heroku 重新启动应用 重新启动以重新加载架构并获取任何架构更改。

    所以答案可能是不在同一个过程中批量处理;即尝试类似

    heroku run rake db:migrate; heroku run rake db:seed_data
    

    【讨论】:

    • 你成功了,我在跑:heroku pg:reset DATABASE -a <app-name>; heroku run rake db:migrate demo:add_data -a <app-name>
    猜你喜欢
    • 1970-01-01
    • 2015-07-11
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    相关资源
    最近更新 更多