我在Heroku上运行应用时遇到了一些问题。它使用Sinatra和Datamapper。完整的项目在这里:https://github.com/pixelwolf/phonedb
当我部署应用程序时出现问题,一切顺利,直到我转到网址,我收到“应用程序错误”页面。我还使用heroku db:push sqlite://database.db
以下是运行heroku logs
:https://gist.github.com/1439777
答案 0 :(得分:4)
您必须使用类似
的行在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,但我不确定是否有必要。
答案 1 :(得分:3)
错误页面包含以下行:
`require': no such file to load -- dm-postgres-adapter
你只能在heroku上使用postgres。所以你可能不会以某种方式解释这一点。你可以在你的机器上使用sqlite进行开发,但是你需要安排一些东西才能使它全部工作,而且你不需要使用任何sqlite或postgres功能。