Heroku Rails - ActiveRecord::UnknownAttributeError(时间表的未知属性“user_id”。):

Chr*_*isM 2 heroku ruby-on-rails-4

这个问题把我难住了。

当部署到 Heroku 时,我得到了错误,但不是本地的,这表明数据库有问题

行其所指

 class StaticPagesController < ApplicationController

  def home

    if logged_in?
      @project = current_user.projects.build if logged_in?
      **@timetable = current_user.timetables.build if logged_in?**
      @feed_items = current_user.feed.paginate(page: params[:page]).reorder("project_due_date ASC")
      @feed_items3 = current_user.feed3.paginate(page: params[:page], :per_page => 1)
    end
  end
Run Code Online (Sandbox Code Playgroud)

我试过了

Heroku run db:migrate and Heroku restart 
Run Code Online (Sandbox Code Playgroud)

还是一样的错误

可能是因为我的架构以某种方式错误,但是什么时候会影响 Heroku 而不是 localhost?

URL = https://radiant-sea-5676.herokuapp.com/

编辑 - 它似乎在没有登录 Heroku 时工作,但在登录时崩溃。在本地主机上以任何方式工作。

再次编辑 - 通过 Heroku 检查架构显示没有 User iD 列,即使在迁移后也没有为 User iD 设置索引。

    create_table "timetables", force: :cascade do |t|
    t.string   "name",       limit: 255
    t.string   "attachment", limit: 255
    t.datetime "created_at",             null: false
    t.datetime "updated_at",             null: false
  end
Run Code Online (Sandbox Code Playgroud)

Jac*_*ton 10

您不需要删除或重置您的数据库。显然,当您在生产模式下运行时,数据库架构已被缓存。因此,无论何时进行迁移,都需要使用heroku restart命令来跟踪它以加载更新的架构。