我正在完成Hartl的教程,刚刚完成第8章并试图推送到Heroku。在这样做之后,我检查了Heroku日志,发现我收到了一个错误:
2014-02-21T04:22:37.252893+00:00 app[web.1]: LINE 1: SELECT "users".* FROM "users" WHERE "users"."remember_toke...
2014-02-21T04:22:37.252893+00:00 app[web.1]: ^
2014-02-21T04:22:37.252893+00:00 app[web.1]: : SELECT "users".* FROM "users" WHERE "users"."remember_token" = 'da39a3ee5e6b4b0d3255bfef95601890afd80709' LIMIT 1
2014-02-21T04:22:37.252893+00:00 app[web.1]: LINE 1: SELECT "users".* FROM "users" WHERE "users"."remember_toke...
2014-02-21T04:22:37.252893+00:00 app[web.1]: ^
2014-02-21T04:22:37.252893+00:00 app[web.1]: PG::Error: ERROR: column users.remember_token does not exist
2014-02-21T04:22:37.252893+00:00 app[web.1]: PG::Error: ERROR: column users.remember_token does not exist
2014-02-21T04:22:37.253670+00:00 app[web.1]: Rendered layouts/_header.html.erb (3.7ms)
2014-02-21T04:22:37.253670+00:00 app[web.1]: Rendered layouts/_header.html.erb (3.7ms)
2014-02-21T04:22:37.253827+00:00 app[web.1]: Completed 500 Internal Server Error in 7ms
2014-02-21T04:22:37.253827+00:00 app[web.1]: Completed 500 Internal Server Error in 7ms
2014-02-21T04:22:37.255866+00:00 app[web.1]:
2014-02-21T04:22:37.255866+00:00 app[web.1]: ActionView::Template::Error (PG::Error: ERROR: column users.remember_token does not exist
2014-02-21T04:22:37.255866+00:00 app[web.1]: ^
我提供了schema.rb来表明我运行了rake db:migrate: schema.rb:
ActiveRecord::Schema.define(version: 20140219015149) do
create_table "users", force: true do |t|
t.string "name"
t.string "email"
t.datetime "created_at"
t.datetime "updated_at"
t.string "password_digest"
t.string "remember_token"
end
add_index "users", ["email"], name: "index_users_on_email", unique: true
add_index "users", ["remember_token"], name: "index_users_on_remember_token"
end
我正在为这个特定项目使用sqlite。我已经阅读了一些关于使用Postgres和区分大小写的heroku的东西。不幸的是,这对我的问题没有帮助,因为无论如何我用小写创建了列标签。
我是一个沉重的菜鸟,这是我遇到的第一个Heroku错误。我甚至无法告诉日志将错误追溯到哪里。任何你可以流下的光都非常感激。如果我需要提供任何其他文件,请告诉我。
答案 0 :(得分:1)
您可能已在本地运行迁移,但是您是否已在Heroku上运行它?
heroku run rake db:migrate
将为您做到这一点
答案 1 :(得分:0)
$ rails db
sqlite> .schema users
$ heroku pg:psql
psql> \d+ users
将remember_token
添加到User
模型后,您可能忘记在推送到Heroku之前将代码提交到Git存储库。运行:
$ git status
这将显示您是否有任何尚未提交的修改过的文件。