Ruby on rails ActiveRecord::语句无效(PG::UndefinedTable:错误:关系“guestbooks”不存在

Ruby on rails ActiveRecord::语句无效(PG::UndefinedTable:错误:关系“guestbooks”不存在,ruby-on-rails,activerecord,heroku,Ruby On Rails,Activerecord,Heroku,当我尝试访问我的URL/留言簿时,我会在我的书面记录日志中继续收到此错误消息 这条路线在本地主机上运行得很好,但在Heroku上不行。我的rails命名约定有问题吗?我想他们是对的,但我可能弄错了 我试着运行rake db:rest,然后试着运行rake db:drop db:create db:migrate,这表明我的迁移文件中有错误,所以我删除了它们,然后再次运行命令,不再收到来自PG的迁移文件错误 我尝试提交我的更改并运行heroku run rake db:migrate,但我的错误仍

当我尝试访问我的URL/留言簿时,我会在我的书面记录日志中继续收到此错误消息

这条路线在本地主机上运行得很好,但在Heroku上不行。我的rails命名约定有问题吗?我想他们是对的,但我可能弄错了


我试着运行
rake db:rest
,然后试着运行
rake db:drop db:create db:migrate
,这表明我的迁移文件中有错误,所以我删除了它们,然后再次运行命令,不再收到来自PG的迁移文件错误

我尝试提交我的更改并运行
heroku run rake db:migrate
,但我的错误仍然存在。下面是我的MVC和路由

    class GuestbooksController < ApplicationController
    before_action :load_page

    def index
        @guestbook = Guestbook.new
    end

    def create
        @guestbook = Guestbook.new(guestbook_params)

        if @guestbook.save
            flash.now[:notice] = "Thanks for taking the time to write us! We greatly appreciate it!"
            render :index
        else
            flash.now[:notice] = "Your message failed to post, please try again"
            render :index
        end
    end

    private

    def load_page
        @guestbooks = Guestbook.page(params[:page])
    end

    def guestbook_params
        params.require(:guestbook).permit(:name, :email, :message)
    end
end
我的模型

class Guestbook < ActiveRecord::Base
    paginates_per 5
end
class留言簿
问题是我没有任何迁移(只有schema.rb)。如果需要,您可以删除所有迁移,但如果需要,您需要运行rake db:setup以使用schema.rb设置数据库(rake db:reset将只查找迁移).

rake db:drop db:create db:migrate在Heroku上不起作用,你需要先执行
Heroku pg:reset
,然后再执行
Heroku运行rake db:migrate
我正在查看,但找不到确切的语法。我必须指定一个特定的数据库。它是Heroku pg:reset,:guestbooks吗?@johnbynonno
Heroku pg:reset数据库
@JohnBeynon谢谢你的回答,结果证明这并没有解决我的问题。运行了这个,然后迁移任务仍然存在。
class Guestbook < ActiveRecord::Base
    paginates_per 5
end