2011-10-13 10 views
5

Estoy trabajando en la versión Rails 1.2.3. Ahora quiero actualizar la versión de Rails así como la versión de Ruy de 1.8.6 a 1.9.7.Actualizar la aplicación Rails De 1.2.3 a 3.1.0?

Es un gran dolor trabajar con una versión tan antigua pero está funcionando. Ahora quiero funciones avanzadas de Rails pero no soporto esta versión anterior.

Por favor sugiérame la manera de actualizar la versión y la versión ruby.

Gracias ....

+0

No creo que hay un proceso de un solo paso razonable para hacerlo. Recomiendo actualizar a Rails 2 usando una guía, asegurándose de que todas sus pruebas pasen (y tal vez le den unos días/semanas en producción, por si acaso ...), luego siga las guías de actualización de Rails 2 a Rails 3. –

+0

@ Jordan: Gracias, hombre. Pero no tuve tiempo suficiente para seguir este paso. Si tienes alguna idea de actualizar esto, por favor avísame. Voy a intentar ese enfoque. – Rubyist

+0

@Jordan: ¿Tiene algún documento de referencia para actualizar la versión de Rails 1 a Rails 2? ? Si tiene, por favor, comparta ... Gracias – Rubyist

Respuesta

4

Eso es todo un salto. Su mejor opción es crear una nueva aplicación de carriles 3.1 y luego migrar manualmente su código.

gem install rails #=> will install the latest stable release from rubygems 
gem install bundler 
rails new myapp 

La primera cosa que hay que hacer es abrir Gemfile y añadir en cualquier gema que está utilizando en su aplicación actual, y también sería una buena idea para encontrar las versiones de la gema de los plugins estás usando (en vendor/plugins). También asegúrese de tener instalada la gema adecuada para el tipo de base de datos que está utilizando (mysql2, sqlite3 o pg).

Después de haber agregado todas las gemas que necesita, ejecute bundle install para agrupar todas las gemas con su aplicación.

En cuanto a vistas, modelos y controladores, todo debería estar bien para copiar a la nueva aplicación. Probablemente necesites ajustar algunas cosas, pero en su mayor parte esas cosas deberían funcionar.

También deberá abrir config/application.rb y configurar su aplicación. Puede usar su antiguo archivo environment.rb como referencia.

El último paso antes de poder iniciar su aplicación es cambiar su archivo routes.rb por el nuevo formato Rails 3. Esta es probablemente la peor parte de la migración, ya que primero tendrá que aprender a escribir un archivo de enrutamiento de Rails 3 y luego escribir manualmente en sus rutas. Se puede encontrar más información en here.

Nunca utilicé Rails 1, por lo que es posible que tenga que cambiar algunas otras cosas. These three Railscasts definitivamente será un recurso útil para usted.

+0

Gracias Jefe. Los pasos dados por ti son realmente buenos o yo. Dijiste muy bien que Routing me va a matar. – Rubyist

0

He migrado una aplicación principal de 2.3.10 a 3.0.9 es un proceso muy doloroso y si quisiera pasar a 3.1 hubiera sido incluso peor.

Dependiendo del tamaño de su aplicación, definitivamente recomendaría crear una nueva aplicación y copiarla.

La migración de esta versión anterior de los rieles a la más reciente definitivamente no es de un solo salto, hay tantas cosas diferentes a considerar.

Pero, lo mejor de mi respuesta es que yo recomiendo hacer eso, el proceso de pruebas, la búsqueda de piedras preciosas compatibles etc ... es mucho mejor en los carriles 3 y Ruby 1.9.2

+0

Sí Hombre, tienes razón. Es mejor hacer una nueva aplicación como clon del proyecto existente. Y podemos usar la lógica y pocos códigos pueden reutilizarse. De lo contrario, el código no deseado creará problemas durante la ejecución. – Rubyist

0

wow , como dijo bricker, ¡es todo un salto! Utilicé Rails 1 hace años ... No actualicé a Rails 2, reescribí.

¿Cuán grande es su aplicación Rails 1.2.3?

Muchas cosas han cambiado, características en Rails, tantas Gems, Enrutamiento, Asset Pipeline, Ámbitos con nombre, ActiveRecord Query API, ... incluso Ruby ha cambiado, sería una mala idea simplemente actualizar. Hay muchos conceptos y funciones nuevos, en los que tendrá que pensar, y será mucho mejor comenzar desde cero.

Esto puede ser una bendición disfrazada. Creo que esta es una gran oportunidad para mejorar su código base al reescribirlo y rediseñarlo en Rails 3.1 :-)

Sugiero comenzar desde cero en la aplicación Rails 3.1 con las funciones más importantes , manteniendo la aplicación 1.2.3 en modo de mantenimiento.

Es probable que también una buena oportunidad para deshacerse de algunas 'características' de su aplicación, que se utilizan casi siempre ...

+0

Sí, tienes razón. También estoy pensando lo mismo. Gracias por tomar mi decisión fuerte. – Rubyist

+0

puede ser difícil de vender para su jefe - simplemente no lo diga :) - al final él/ella estará feliz – Tilo

+0

Gracias Hombre. Mi jefe sabe todo e incluso yo le expliqué estos términos al cliente también. El cliente también está listo para esto. – Rubyist

Cuestiones relacionadas