Rake migrate: error al migrar la aplica ción

He subido mi aplicación al servidor y al querer correr las migraciones
me ha dado este error
En local la versión de rails es 1.2.2 y en el servidor es la 0.13.0
según pone al hacer gem list --local

he modificado el environtmet.rb, en vez de usar la 1.2.2, he puesto la
versión del servidor:
RAILS_GEM_VERSION = ‘0.13.0’ unless defined? RAILS_GEM_VERSION

Hago el rake migrate y me da este error:

rake aborted!
undefined method `gem’ for main:Object
/home/hostsono/public_html/sangovi/Rakefile:4
(See full trace by running task with --trace)

Cómo puedo solucionarlo?

Supongo que si la aplicación esta creada con rails 1.2.2 no va a
funcionar con la 0.13 aunque le cambies eso en el environment.rb porque
la nueva version de rails llevará cosas nuevas.

Una cosa que puedes hacer es ‘congelar’ el rails que tienes en
desarrollo en el directorio vendor de tu aplicación y ver si así
funciona (yo lo he hecho con una aplicacion 1.2.2 en un servidor con la
1.1.6 y va bien).
El comando es:
rake rails:freeze:gems

A ver si te sirve

Saludos
Amaia


~~~ ~~~
Amaia C.
~~~ ~~~
Dabne Tecnologías de la
Informaciónc/Los Madrazo, 16 - 3º 4
28014 Madrid
Tel.: (+34) 91 369 17 50
www.dabne.net
~~~ ~~~

Miguel Angel Calleja Lázaro
escribió:> He subido mi aplicación al servidor y al querer correr las migraciones

Xavier N.
escribió:

puesto la
Cómo puedo solucionarlo?

– fxn


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Parece ser que en este servidor no estaba muy bien configurado, asi que
he subido mi aplicación a otro donde la versión de rails es 1.1.6

De momento las migraciones me las ha hecho bien, pero al querer correr
mi página me ha dado un error:

Mysql::Error: Unknown column ‘hidden0’ in ‘where clause’: SELECT * FROM
paginas WHERE (hidden0) ORDER BY id

En local usaba la 1.2.2 y mis consultas las
hacía así:@menu=Pagina.find(:all,:conditions=>{:hidden=>0},:order=>“id”)

Ahora al usar 1.1.6 me da ese error de mysql, no me mete el = después del
hidden y me lo pone junto y peta, por qué puede ser?

El Tuesday 13 March 2007 12:07:15 Miguel Angel Calleja Lázaro
escribió:> >>

introducido recientemente, debes tener una version no actualizada de
[email protected]

En local usaba la 1.2.2 y mis consultas las hacía así:
@menu=Pagina.find(:all,:conditions=>{:hidden=>0},:order=>“id”)

Creo que la forma { :atributo => valor } para las condiciones sólo está
soportada a partir de la versión 1.2. Así que tendrías que reescribir eso
como:

:conditions => [ ‘hidden = 0’ ]

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: banot.net
blog: http://devnull.blogs.banot.net/

On Mar 12, 2007, at 8:43 PM, Miguel Angel Calleja Lázaro wrote:

Hago el rake migrate y me da este error:

rake aborted!
undefined method `gem’ for main:Object
/home/hostsono/public_html/sangovi/Rakefile:4
(See full trace by running task with --trace)

Cómo puedo solucionarlo?

Este problema en concreto viene de que “gem” es algo que rubygems ha
introducido recientemente, debes tener una version no actualizada de
rubygems en el servidor. No obstante, es poco probable que una
aplicacion escrita para 1.2.2 funcione sin un par de gelocatiles en
0.13.0, que no tenia ni migrations (quiza como plugin, no recuerdo).

Lo optimo seria actualizar el rails del servidor, te es posible?

– fxn