segunda-feira, 6 de abril de 2009

Migrando de rails 2.0 para rails 2.3

A primeira coisa a se fazer é baixar a versão mais recente de rails que, até a presente data, é a 2.3.2. Para isto, execute o comando:

gem update rails

Por via das dúvidas, atualize também suas gems através do comando:

gem update

Se você possuia uma versão anterior, dentro do contexto da versão 2.0 de rails. É possível fazer a migração para 2.3 através de uma pequena 'gambiarra', mas que para mim foi suficientemente satisfatória. ..heheh :)

Isto porque as versões anteriores a 2.2 tiveram um método deprecado que informa com relação a cache_template_extensions. O erro que aparece quando você tenta executar o mongrel por exemplo é:

undefined method `cache_template_extensions=' for ActionView::Base:Class (NoMethodError)

SOLUÇÃO PROPOSTA


Antes uma breve observação: No meu caso deu certo, mas não estou garatindo que isto irá funcionar para qualquer aplicação. E muito menos ainda se for uma aplicação nas versões anteriores a 2.0.

O quê que eu fiz?

  • Simples. Uma vez com o rails na sua versão mais recente instalada, criei uma aplicação que chamei de corrigir:
rails corrigir
  • Então, da minha app_antiga, copiei todo o conteúdo das pastas: app, test e db.
  • Também copiei os dois arquivos necessários da minha antiga pasta config: database.yml e routes.rb
  • Em public, como de praxe deletei o index.html e copiei todo o conteúdo apenas da pasta stylesheets.
  • Muito importante foi a alteração em app/controllers. Pois o antigo arquivo application.rb passa se chamar de application_controller.rb. Então copiei todo o conteúdo do antigo application.rb para dentro do novo application_controller.rb.

Com estas modificações realizadas, foi o suficiente para que tudo desse certo e eu conseguisse fazer a migração tranqüilamente da versão 2.0.4 do rails para sua versão mais recente: rails 2.3.2!

Nenhum comentário:

Postar um comentário