Lor*_*oog 5 ruby datamapper heroku sinatra
由于某种原因,heroku试图要求dm-sqlite-adapter,即使它应该在这里使用Postgres.请注意,当我打开任何URL时会发生这种情况 - 而不是在git push本身.
我建立了默认的Facebook应用程序.
Gemfile:
source :gemcutter
gem "foreman"
gem "sinatra"
gem "mogli"
gem "json"
gem "httparty"
gem "thin"
gem "data_mapper"
gem "heroku"
group :production do
gem "pg"
gem "dm-postgres-adapter"
end
group :development, :test do
gem "sqlite3"
gem "dm-sqlite-adapter"
end
Run Code Online (Sandbox Code Playgroud)
数据映射器设置:
# Setting up the database
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/data/mydatabase.db")
Run Code Online (Sandbox Code Playgroud)
打开任何URL时的相关日志片段:
Starting process with command `bundle exec thin -R config.ru start -p 34984`
2012-01-18T15:11:55+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:163:in `require': no such file to load -- dm-sqlite-adapter (LoadError)
2012-01-18T15:11:55+00:00 app[web.1]: from /app/vendor/bundle/ruby/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:163:in `load_adapter'
Run Code Online (Sandbox Code Playgroud)
试过相关的解决方案,但到目前为止没有任何帮助.
BTW:bundle install说Using do_postgres和Using dm-postgres-adapter.我错过了有关Datamapper设置的一些内容吗?
好吧,Heroku上有太多Rails应用程序,我认为共享数据库存在是理所当然的.heroku config表明既无DATABASE_URL或SHARED_DATABASE_URL设置.
发行heroku addons:add shared-database:5mb解决了这个问题.
奇怪的是,尽管在Gemfile中有'pg'宝石,但db并没有自动添加.
引自http://devcenter.heroku.com/articles/cedar:
shared-database:5mb在以下任何一种情况下,Heroku共享的PostgreSQL数据库()将自动添加到您的应用中:
- 该应用程序是一个Rails应用程序
- 该
pg宝石在指定Gemfile
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |