Upgrading a 1.1.2 RoR App

Hi,

I have been running a 1.1.2 RoR app for a few years without upgrading.
I'm now forced to move it since we the current hosting plan is ending.
I would like to know what would be the best way to do it since it has
changed a lot. At the time I was using the localization plugin, and
some really old things.

Thanks

Yikes! And I thought I had an old app in production on Rails 1.2.2

Depending on how "big" it is, you might find it easier to rewrite it for 2.3.5 or even jump on 3.0.beta.

To "upgrade", the path looks something like:

1.1.2 => (1.1.6 =>) 1.2.0 => 1.2.6 => (2.x =>) 2.3.5

You might not need to hit 1.1.6, but gobs of stuff changed in 1.2.0 so that's probably a good bet. Whether you need to hit 2.x (where x is probably 0) might be debatable, but 1.2.6 should have the deprecation warning for the bigger changes in 2.0.

This assumes that you have good test coverage.

And rewriting would be really hard (for whatever reason).

Of course, if you can vendor rails into your repository, you might be able to use 1.1.2 even longer. In my case, I have that 1.2.2 app running under Passenger with ruby-1.8.7 and only had a few minor issues getting Rails to run on that version (mostly due to iteration over strings by character--something that ActiveSupport added, but 1.8.7 has baked-in).

Good luck!

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

Hi,

Thanks for your answer, I'm going to try that.
What do you mean by "if you can vendor rails into your repository" ?
Is it still possible to run a 1.1.2 Rails App on Heroku or any other
RoR Hosting?

Regards,

Roch

Hi,

Thanks for your answer, I'm going to try that.
What do you mean by "if you can vendor rails into your repository" ?
Is it still possible to run a 1.1.2 Rails App on Heroku or any other
RoR Hosting?

Regards,

Roch

You can freeze rails:

rake rails:freeze:gems # Lock this application to the current gems (by unpacking them into vendor/rails)

You might also have to freeze your gems (so they appear like plugins) if the hosting service doesn't have the versions you need and won't install them for you.

Now, whether any particular hosting company will support that config is beyond my knowledge.

-Rob

Hi,

I have been running a 1.1.2 RoR app for a few years without upgrading.
I'm now forced to move it since we the current hosting plan is ending.
I would like to know what would be the best way to do it since it has
changed a lot. At the time I was using the localization plugin, and
some really old things.

Thanks

Yikes! And I thought I had an old app in production on Rails 1.2.2

Depending on how "big" it is, you might find it easier to rewrite it
for 2.3.5 or even jump on 3.0.beta.

To "upgrade", the path looks something like:

1.1.2 => (1.1.6 =>) 1.2.0 => 1.2.6 => (2.x =>) 2.3.5

You might not need to hit 1.1.6, but gobs of stuff changed in 1.2.0 so
that's probably a good bet. Whether you need to hit 2.x (where x is
probably 0) might be debatable, but 1.2.6 should have the deprecation
warning for the bigger changes in 2.0.

This assumes that you have good test coverage.

And rewriting would be really hard (for whatever reason).

Of course, if you can vendor rails into your repository, you might be
able to use 1.1.2 even longer. In my case, I have that 1.2.2 app
running under Passenger with ruby-1.8.7 and only had a few minor
issues getting Rails to run on that version (mostly due to iteration
over strings by character--something that ActiveSupport added, but
1.8.7 has baked-in).

Good luck!

-Rob

Rob Biedenharn http://agileconsultingllc.com
R...@AgileConsultingLLC.com

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com
+1 513-295-4739
Skype: rob.biedenharn