2012-03-04 11 views
5

Me estoy preparando para (intentar) actualizar una aplicación de Rails de la 2.3.11 a la 3.X, y me pregunto qué camino de actualización recomendarían otros. En este momento (marzo de 2012), 3.2 es la última versión de Rails, pero me pregunto si sería más adecuado orientarme a una versión anterior para minimizar el problema de la actualización.¿Actualizar a Ruby on Rails 3.0, 3.1 o 3.2 desde 2.3.11?

En particular, me gustaría evitar sobrepasar la marca en deprecations y soporte heredado. Por ejemplo, si hay partes de ActiveRecord heredadas que están en desuso en 3.1 y eliminadas en 3.2, entonces creo que prefiero ir a 3.1 o incluso a 3.0.

configuración actual:

  • rieles 2.3.11
  • de Ruby 1.8.7 (ree-1.8.7-2012.01 en producción)
  • ya actualizado a bundler

Si alguien ha pasado por esto y podría apuntar a una versión específica para apuntar, eso sería de gran ayuda.

+1

Generalmente muerdo la bala y actualizo lo más que puedo. Un salto más pequeño en la versión puede aliviar su dolor de actualización a corto plazo, pero puede dejarlo con ganas de hacer otra actualización en unos pocos meses. –

Respuesta

2

Acabo de hacer esto recientemente y me pareció muy útil tomar un enfoque incremental y trabajar a través de todas las advertencias de desaprobación a medida que actualicé. Si tiene una buena cobertura de prueba, puede consultar las advertencias de desaprobación que se arrojan al ejecutar su conjunto de pruebas. Si no es así, querrá consultar los registros de su servidor para detectar advertencias de desaprobación con mucho cuidado. Una cosa que me mordió fue el cambio de ERB de usar <% a <% = para bloques de contenido cuando actualizamos de 3.0 a 3.1 porque fallarán silenciosamente.