【问题标题】:A Sinatra + Datamapper app on HerokuHeroku 上的 Sinatra + Datamapper 应用程序
【发布时间】:2012-01-14 10:20:41
【问题描述】:

我在 Heroku 上运行应用时遇到了一些问题。它使用 Sinatra 和 Datamapper。完整的项目在这里:https://github.com/pixelwolf/phonedb

问题发生在我部署应用程序时,一切顺利,直到我转到 url,在那里我得到一个“应用程序错误”页面。我还使用heroku db:push sqlite://database.db

推送了 SQLite3 数据库

这是运行heroku logs的日志:https://gist.github.com/1439777

【问题讨论】:

  • 抱歉,我不知道答案,但我确实在您的代码中发现了一个不相关的小错误。在 main.rb 的第 74 行,你拼错了 'email' :email => params[:emial]

标签: ruby heroku sinatra datamapper


【解决方案1】:

您必须在 datamapper 中使用这样的行配置您的数据库

DataMapper.setup(:default, ENV['DATABASE_URL'] || 'sqlite3://my.db')

那来自heroku的网站。 http://devcenter.heroku.com/articles/database 这将配置 datamapper 以继续允许您在本地计算机上使用 sqlite3,但在使用应用程序时切换到 Heroku 的 postgres DB。

另外,Tom Anderson 是正确的,您需要将 dm-postgres-adapter gem 添加到您的 Gemfile。我还添加了 pg gem,不过我不确定是否有必要。

【讨论】:

    【解决方案2】:

    错误页面有一行:

    `require': no such file to load -- dm-postgres-adapter
    

    您只能在 heroku 上使用 postgres。所以很可能你没有以某种方式考虑到这一点。您可以在您的机器上使用 sqlite 进行开发,但是您需要安排一些事情以使其全部工作,而且您不需要使用任何 sqlite 或 postgres 专用功能。

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 2011-02-25
      • 2012-04-11
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 1970-01-01
      相关资源
      最近更新 更多