I have had to do a similar upgrade of an ancient Rails 3.2 app. Updates should certainly be done incrementally (3.2 -> 4.0 -> 4.1 -> etc) and there is a "correct" way detailed here: https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
I'm afraid it is time consuming but you will encounter bigger problems if you try to skip versions. Also, I recall having problems trying to upgrade Ruby too far for some versions of Rails, although I cannot find any documentation of maximum compatible versions. I would recommend concentrating on upgrading Rails and upgrade Ruby when support for a particular version is dropped. For example, Rails 5 drops support for Ruby 2.1. Once you have upgraded Rails as far as you can then get the latest Ruby (2.7.1 or 2.6.6). The third number in each version, for both Ruby and Rails, indicate patch releases so for example there is no real difference between Ruby 2.6.2 and 2.6.6 apart from bug fixes. When installing any version of Ruby or Rails you should always use the highest patch release number. I hope I am not telling you things you already know but this sounds very much as though you have been handed an ancient application that you are not familiar with and no one else wants to touch and told to get on with it. Good luck! On Fri, 10 Apr 2020 at 22:36, Jack Royal-Gordon <[email protected]> wrote: > So here’s my plan: > > 1) I’m on Ruby 2.0.0, Rails 3.2.21, Rspec 2.12.2 > 2) I’ll upgrade RSpec to 2.99, get all tests working > 3) I’ll upgrade to Ruby 2.6.2, Rails 4.2.11, RSpec 3.9.0, get all tests > working and build out the test suite further. > 4) I’ll upgrade to Ruby 2.6.6, Rails 5.2.4.2 > 5) I’ll upgrade to Rails 6.0.2.2 (or whatever is then current) > > I’m assuming that RSpec 3.9.0 will work with all versions of Rails from > 4.2.11 on. If that is not true, can you point me at documentation that will > tell me which versions of RSpec work with which Rails versions? > > On Apr 10, 2020, at 2:15 PM, Jack Royal-Gordon <[email protected]> wrote: > > Brilliant. I was just getting ready to ask for this information. Thanks! > > On Apr 10, 2020, at 2:13 PM, Jon Rowe <[email protected]> wrote: > > RSpec wise you can upgrade to 2.99, its a fully 2.x compatible release and > deprecates anything that won’t work in 3.x. Getting that “quiet” should > mean you can use RSpec 3.x when you get Rails to 4.x. > > Cheers > Jon Rowe > --------------------------- > [email protected] > jonrowe.co.uk > > On 10 April 2020 at 21:58, Jack Royal-Gordon wrote: > > Re: your response to my second question, it’s a chicken-and-egg thing, as > I’m trying to build out my test suite prior to migrating so that I can find > what gets broken by the migration. Do you think that because it’s such an > old unsupported version that I’m better off migrating first and then > building the test suite? > > Part of the problem is figuring out what versions to migrate to, and > whether to try to move incrementally to other versions along the way. But > that’s a question for a different list. > > > -- > You received this message because you are subscribed to the Google Groups > "rspec" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rspec/dejalu-217-04b48383-3378-4659-adbb-d9c30e3b6462%40jonrowe.co.uk > <https://groups.google.com/d/msgid/rspec/dejalu-217-04b48383-3378-4659-adbb-d9c30e3b6462%40jonrowe.co.uk?utm_medium=email&utm_source=footer> > . > > > > -- > You received this message because you are subscribed to the Google Groups > "rspec" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rspec/9DE08F1B-5790-492E-971D-84DA537C7CE2%40pobox.com > <https://groups.google.com/d/msgid/rspec/9DE08F1B-5790-492E-971D-84DA537C7CE2%40pobox.com?utm_medium=email&utm_source=footer> > . > > > -- > You received this message because you are subscribed to the Google Groups > "rspec" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rspec/16B046C5-0F42-459F-80DE-C13E039F03DA%40pobox.com > <https://groups.google.com/d/msgid/rspec/16B046C5-0F42-459F-80DE-C13E039F03DA%40pobox.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "rspec" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rspec/CAKRXwc1OfMksk%3DYWfwmV3gmn%3DApcYLj3dXBtRW_HonCe%2BxADpQ%40mail.gmail.com.
