Skip to content

Instantly share code, notes, and snippets.

@willywg
Created August 4, 2011 03:22
Show Gist options
  • Save willywg/1124434 to your computer and use it in GitHub Desktop.
Save willywg/1124434 to your computer and use it in GitHub Desktop.
Actulizando app Rails 2.3.8 a Rails 3.1
Estado inicial de app:
* Ruby 1.8.7
* Rails 2.3.8
---------
Pasos:
1. Instalamos Rails 2.3.12: gem install rails -v=2.3.12
2. Instalamos con RVM Ruby 1.9.2
3. Pasar la app a la version 2.3.x mas reciente. A la fecha (3/8/2011) es la 2.3.11. Para esto cambiamos en config/environment.rb de RAILS_GEM_VERSION = '2.3.8' a RAILS_GEM_VERSION = '2.3.12'
4. Corremos el server para ver posibles problemas. (Deprecated functions por ejemplo) y hacemios uso de google para darles una rapida solucion.
5. Si al correr el server y cargar la web nos da este error: “incompatible character encodings: ASCII-8BIT and UTF-8″. Una solucion rapida seria cambiar en el config/database.yml el adapter de mysql a mysql2. Para esto debemos asegurarnos instalar la version correcta para Rails 2.3.12: gem install mysql2 -v=0.2.6
6. Es posible que si tenemos caracteres raros en nuestros templates tambien nos genere un error del tipo: invalid multibyte char (US-ASCII), en mi caso paso esto porque usaba un string que incluia este caracter especial: "«". La solucion fue quitarlo de cada lugar en donde lo usara.
7. Instalamos el plugin rails_upgrade. Ver: https://github.com/rails/rails_upgrade
8. Revisamos que cambios tenemos pendientes a realizar con rake rails:upgrade:check. Se listara una serie de cambios que debemos tomar en cuenta para pasar a Rails 3. Aun no debemos realizar estos cambios. Se haran mas adelante.
9. Realizamos un backups de los archivos que seran modificados con rake rails:upgrade:backup
10. Instalamos la ultima version estable de Rails 3
11. Subimos un nivel en la carpeta de nuestra app y la regenramos. En mi caso rails new colegios -d mysql. Esto nos pedira sustituir una serie de archivos. Por lo general seran aquellos a los que previamente hicimos una actualizacion.
12. Comenzamos a reconfigurar los files reescritos. empezando por config/database.yml. Seguro no debemos hacer mucho cambio.
13. Pasar a mano configuraciones de config/enviroment.rb.rails2 a config/application.rb. en mi caso:
config.time_zone = 'UTC'
config.i18n.default_locale = :es
14.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment