2010-09-19 12 views
5

¿Alguien sabe la conjuración mágica necesaria para obtener una aplicación Sinatra que utiliza DataMapper y que se ejecuta en la pila de bambú de Heroku? La pila de bambú no incluye ninguna gemas del sistema preinstaladas y no importa qué combinación de gemas que intento me siguen dando este error:Método no definido auto_upgrade! al presionar la aplicación Sinatra/DataMapper a Heroku

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

Esto es lo que tengo en mi .gems archivo:

sinatra 
pg 
datamapper 
do_postgres 
dm-postgres-adapter 

Y estas son las dependencias que se instalan cuando empujo la aplicación 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 

la aplicación funciona bien a nivel local utilizando SQLite3. ¿Me estoy perdiendo otro componente de PostgreSQL?

Respuesta

10

La gema dm-migrations agrega DataMapper.auto_upgrade !. ¿Estás requiriendo dm-migrations o la gema del mapeador de datos antes de la actualización automática?

+0

¡Eso lo hizo, gracias! No necesitaba la gema del mapeador de datos en la aplicación Sinatra. –

+1

Lo que quiero decir es que solo requería dm-core y dm-timestamps. –

+0

Ahh genial, es bueno saber que funcionó para ti. Me ocuparé de actualizar la documentación en datamapper.org para mencionar esto. – dkubb

Cuestiones relacionadas