Undefined method auto_upgrade! when pushing Sinatra/DataMapper app to Heroku

随声附和 提交于 2019-12-01 17:30:48

问题


Does anybody know the magic incantation required to get a Sinatra application that uses DataMapper up and running on Heroku's Bamboo stack? The Bamboo stack doesn't include any pre-installed system gems and no matter what combination of gems I try I keep getting this error:

undefined method `auto_upgrade!' for DataMapper:Module (NoMethodError)

This is what I have in my .gems file:

sinatra
pg
datamapper
do_postgres
dm-postgres-adapter

And these are the dependencies that are installed when I push the app to Heroku:

-----> Heroku receiving push
-----> Sinatra app detected

-----> Installing gem sinatra from http://rubygems.org
       Successfully installed sinatra-1.0
       1 gem installed

-----> Installing gem pg from http://rubygems.org
       Building native extensions.  This could take a while...
       Successfully installed pg-0.9.0
       1 gem installed

-----> Installing gem datamapper from http://rubygems.org
       Successfully installed extlib-0.9.15
       Successfully installed addressable-2.2.1
       Successfully installed dm-core-1.0.2
       Successfully installed dm-aggregates-1.0.2
       Successfully installed dm-migrations-1.0.2
       Successfully installed dm-constraints-1.0.2
       Successfully installed dm-transactions-1.0.2
       Successfully installed fastercsv-1.5.3
       Successfully installed json_pure-1.4.6
       Successfully installed dm-serializer-1.0.2
       Successfully installed dm-timestamps-1.0.2
       Successfully installed dm-validations-1.0.2
       Successfully installed uuidtools-2.1.1
       Successfully installed stringex-1.1.0
       Successfully installed dm-types-1.0.2
       Successfully installed datamapper-1.0.2
       16 gems installed

-----> Installing gem do_postgres from http://rubygems.org
       Building native extensions.  This could take a while...
       Successfully installed data_objects-0.10.2
       Successfully installed do_postgres-0.10.2
       2 gems installed

-----> Installing gem dm-postgres-adapter from http://rubygems.org
       Successfully installed dm-do-adapter-1.0.2
       Successfully installed dm-postgres-adapter-1.0.2
       2 gems installed

The application works fine locally using SQLite3. Am I missing another PostgreSQL component?


回答1:


The dm-migrations gem adds DataMapper.auto_upgrade!. Are you requiring dm-migrations or the datamapper gem before auto-upgrading?



来源:https://stackoverflow.com/questions/3745205/undefined-method-auto-upgrade-when-pushing-sinatra-datamapper-app-to-heroku

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!