由於某些原因,heroku試圖要求使用dm-sqlite-adapter,儘管它應該在這裏使用Postgres。請注意,這發生在我打開任何URL時 - 而不是在git push本身。Sinatra + Heroku + Datamapper使用dm-sqlite-adapter部署問題
我構建了一個默認的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
DataMapper的設置:
# Setting up the database
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/data/mydatabase.db")
相關日誌片段,當任何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'
試了相關的解決方案,但沒有幫助,所以遠。
BTW:bundle install
說Using do_postgres
和Using dm-postgres-adapter
。我是否缺少有關Datamapper安裝的信息?
嘗試使用'development:test'的值設置一個'BUNDLE_WITHOUT'的配置var,看看會發生什麼 – 2012-01-18 15:40:16
我猜我已經在發行'git push heroku master'時運行: 'Running:bundle install --without開發:測試 - 路徑供應商/捆綁--binstubs bin/--deployment' – LordTwaroog 2012-01-18 15:44:32
你可以在本地使用Postgres嗎?這真是個好主意:http://www.12factor.net/dev-prod-parity – 2012-01-18 15:51:30