0

我已经在 heroku 上创建了我的堆栈,并且所有内容都已部署,但是当我尝试通过 URL 实际访问它时,它只是默认为 500.html 错误页面。该应用程序在我的本地主机上运行良好,但我在 sqlite3 中开发了它。我已经将我的 Gemfile 更改为如下所示并运行 bundle install。

#gem 'sqlite3'

gem 'thin'

group :production do
   gem 'pg'
end
group :development, :test do
   gem 'sqlite3'
end

当您访问该网址时,它应该指向我的登录页面。

这就是我的 database.yml 文件的样子……这与我的问题有什么关系。

development:
   adapter: sqlite3
   database: db/development.sqlite3
   pool: 5
   timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
   adapter: sqlite3
   database: db/test.sqlite3
   pool: 5
   timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

感谢您的任何建议

4

3 回答 3

1

用于heroku logs查看显示 500 错误原因的日志文件。如果您尚未运行迁移,这可能是原因。一定要运行:

heroku run rake db:migrate

在您使用您的应用程序之前。

于 2013-04-02T19:05:54.357 回答
0

您的 database.yml 文件仍然指向 SQLite。您需要将其更改为指向 heroku 上的 PostgreSQL 数据库。

于 2013-04-03T12:32:53.740 回答
0

我可以从评论中看到您正在使用 sqlite 将其生产到 heroku 中。这是不可能的,因为heroku不支持sqlite。您可以在生产环境中使用 pg 或 mysql2。您可以在此处查看解决方案:

如何配置 database.yml 以部署到 Heroku

一旦你完成它运行这些命令

heroku run rake db:reset
heroku run rake db:drop db:create db:seed
heroku run rake db:migrate
于 2015-01-29T16:30:00.463 回答