我刚刚安装了Heroku并尝试让我的应用程序在其上运行。
我收到此错误
2016-01-06T11:27:26.741740+00:00 app[web.1]: => Rails 4.2.0 application starting in production on http://0.0.0.0:47038
2016-01-06T11:27:26.741741+00:00 app[web.1]: => Run `rails server -h` for more startup options
2016-01-06T11:27:26.741741+00:00 app[web.1]: => Ctrl-C to shutdown server
2016-01-06T11:27:26.741742+00:00 app[web.1]: Started GET "/" for 122.104.136.142 at 2016-01-06 11:27:26 +0000
2016-01-06T11:27:26.800681+00:00 app[web.1]: Processing by ProductsController#home as HTML
2016-01-06T11:27:26.819306+00:00 app[web.1]: Product Load (1.5ms) SELECT "products".* FROM "products" LIMIT 30 OFFSET 0
2016-01-06T11:27:26.819330+00:00 app[web.1]: PG::UndefinedTable: ERROR: relation "products" does not exist
2016-01-06T11:27:26.819331+00:00 app[web.1]: LINE 1: SELECT "products".* FROM "products" LIMIT 30 OFFSET 0
2016-01-06T11:27:26.819332+00:00 app[web.1]: ^
2016-01-06T11:27:26.819332+00:00 app[web.1]: : SELECT "products".* FROM "products" LIMIT 30 OFFSET 0
2016-01-06T11:27:26.819793+00:00 app[web.1]: Rendered products/_product_display.html.erb (5.4ms)
2016-01-06T11:27:26.819862+00:00 app[web.1]: Rendered products/home.html.erb within layouts/application (7.9ms)
2016-01-06T11:27:26.819966+00:00 app[web.1]: Completed 500 Internal Server Error in 19ms
我知道我的迁移是填充的,如果我删除了数据库,我就无法运行rake db:migrate
而不会在本地获得相同的错误。为了让他们工作,我运行rake db:drop
然后rake db:create
然后rake db:schema:load
。它加载架构并rake db:migrate
工作。
有没有办法在Heroku中加载架构,就像我在本地一样?或任何其他方式让这个工作?
答案 0 :(得分:0)
通常,您应该能够像在本地一样在Heroku上运行所有相同的rake命令(假设您已经在两端运行相同的代码)。
你试过了吗?
heroku run rake db:drop
heroku run rake db:create
heroku run rake db:schema:load
heroku run rake db:migrate
或者您是在尝试修复它而不丢弃您的heroku数据库或类似的东西?
答案 1 :(得分:0)
将数据库放在Heroku上:
heroku pg:reset SHARED_DATABASE --confirm APP_NAME
然后再次迁移数据库:
heroku run rake db:migrate
希望这有帮助。
答案 2 :(得分:0)
尝试'heroku run rake db:reset'然后'heroku run rake db:migrate'。
这应该