Heroku表没有更新

时间:2016-10-25 20:30:36

标签: ruby-on-rails ruby git heroku

我正在使用Rails构建新闻应用程序。当我运行heroku run rake db:migrate时,我在heroku中的表没有更新。我已经尝试了几次heroku重启。我的本地版本中有两个项目,但是当我检查heroku版本时,这两个列始终缺失。我觉得我已经阅读了关于该主题的一百万个堆栈溢出页面,但没有任何工作。

这就是我提交更改的方式:

  1. git add。
  2. git commit -m“my changes”
  3. git push heroku master
  4. heroku run rake db:migrate
  5. 当我尝试添加新帖子时,我在heroku日志中收到此错误:

    2016-10-25T20:23:05.717260+00:00 app[web.1]: I, [2016-10-25T20:23:05.717163 #3]  INFO -- : [5f60f5aa-8453-4a3a-88f3-daf7b5c673d7] Completed 500 Internal Server Error in 37ms (ActiveRecord: 18.7ms)
    2016-10-25T20:23:05.718597+00:00 app[web.1]: F, [2016-10-25T20:23:05.718551 #3] FATAL -- : [5f60f5aa-8453-4a3a-88f3-daf7b5c673d7] NoMethodError (undefined method `slug' for #<Post:0x007fb471ff2cd8>):
    2016-10-25T20:23:05.718481+00:00 app[web.1]: F, [2016-10-25T20:23:05.718425 #3] FATAL -- : [5f60f5aa-8453-4a3a-88f3-daf7b5c673d7]   
    2016-10-25T20:23:05.718644+00:00 app[web.1]: F, [2016-10-25T20:23:05.718604 #3] FATAL -- : [5f60f5aa-8453-4a3a-88f3-daf7b5c673d7]   
    2016-10-25T20:23:05.718727+00:00 app[web.1]: F, [2016-10-25T20:23:05.718688 #3] FATAL -- : [5f60f5aa-8453-4a3a-88f3-daf7b5c673d7] app/controllers/posts_controller.rb:30:in `create'
    2016-10-25T20:23:05.718686+00:00 app[web.1]: F, [2016-10-25T20:23:05.718647 #3] FATAL -- : [5f60f5aa-8453-4a3a-88f3-daf7b5c673d7] app/controllers/posts_controller.rb:31:in `block in create'
    

    这就是我在本地“帖子”表中的内容:

    Post(id: integer, created_at: datetime, updated_at: datetime, title: string, content: string, description: string, User_Id: integer, slug: string, photo_file_name: string, photo_content_type: string, photo_file_size: integer, photo_updated_at: datetime, ranking: string)
    

    这就是我在Heroku中所拥有的:

    Post(id: integer, created_at: datetime, updated_at: datetime, title: string, content: string, description: string, user_id: integer)
    

    有人可以帮忙吗?你会成为我的英雄。这停止了​​我整整一天。谢谢!

    也许值得一提的是我之前创建了这个应用程序,然后将其删除。这是我第二次以相同的名称将同一个应用程序部署到heroku。我不确定这是否相关。

1 个答案:

答案 0 :(得分:0)

您可以在heroku上运行此命令:

$ heroku run rake db:drop
$ heroku run rake db:create
$ heroku run rake db:schema:load

如果此命令不起作用,您可以从项目中删除.git文件并再次添加git并在heroku中推送该项目。