We have a very large application with probably close to 100K lines of
code, maybe more. We’re still running at 2.3.11, but upgraded to ruby
1.9.3. We were trying to step through an upgrade to 3.0 and every time
we make a little progress it seems Rails or Ruby has released a new
version, and I can’t foresee us every getting caught up as our resources
are rather limited. I have one assistant working on upgrading and I’m
always working on bugs and feature requests. I know we should freeze
the feature requests… but a full rewrite is so far away, a total
freeze won’t be accepted.
My one thought was to launch a Rails 4 server and try to upgrade in
sections, using 4.0 for anything we rewrite/fix. Unless someone has
another thought, can anyone offer any insight as to the best way to run
two versions in the same app? Obviously, we’d share the db. But would
I shift back and fourth with route changes or manually write out the
urls for redirects? Could I share authentication between
the two servers? Any ideas or precautions would be appreciated. BTW,
this app is NOT publicly available and is used by a relatively small
private company internally.
On Saturday, June 1, 2013 4:23:29 PM UTC+1, Ruby-Forum.com User wrote:
Just so you know the update from rails 2.3.x to 3.0 is way bigger and
more
difficult than any of the other upgrades I’ve ever done (I’ve been using
rails since 1.0), 3.0 to 3.1 and 3.1 to 3.2 are much much easier. 4.0
will
also be a simpler upgrade than 2.3 to 3.0.
Similarly ruby 1.8.7 to ruby 1.9.x is a much bigger change ( in terms of
work required) than 1.9 to 2.0.
In a nutshell, don’t lose hope!
Fred
On Jun 1, 2013, at 11:23 AM, Warren Prince wrote:
My one thought was to launch a Rails 4 server and try to upgrade in
sections, using 4.0 for anything we rewrite/fix. Unless someone has
another thought, can anyone offer any insight as to the best way to run
two versions in the same app? Obviously, we’d share the db. But would
I shift back and fourth with route changes or manually write out the
urls for redirects? Could I share authentication between
the two servers? Any ideas or precautions would be appreciated. BTW,
this app is NOT publicly available and is used by a relatively small
private company internally.
Here’s one talk from RailsConf which may help you figure out your path:
http://confreaks.com/videos/2425-railsconf2013-changing-the-wheels-on-the-bus-at-80-mph-upgrading-to-rails-3-on-a
And here’s another, even more ambitious (Rails 1.x to 4.0):
http://confreaks.com/videos/2490-railsconf2013-the-long-ball-upgrading-long-lived-rails-apps-from-1-x-4-0
Walter