<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:352149873;
        mso-list-template-ids:162683242;}
@list l1
        {mso-list-id:681588439;
        mso-list-template-ids:974803428;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Upgrade Railscasts:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><a href="http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1">http://railscasts.com/episodes/225-upgrading-to-rails-3-part-1</a><o:p></o:p></p><p class=MsoNormal><a href="http://railscasts.com/episodes/226-upgrading-to-rails-3-part-2">http://railscasts.com/episodes/226-upgrading-to-rails-3-part-2</a><o:p></o:p></p><p class=MsoNormal><a href="http://railscasts.com/episodes/227-upgrading-to-rails-3-part-3">http://railscasts.com/episodes/227-upgrading-to-rails-3-part-3</a><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoPlainText>Nick<o:p></o:p></p><p class=MsoPlainText><o:p> </o:p></p><p class=MsoPlainText>Beo Ltd<o:p></o:p></p><p class=MsoPlainText><a href="http://www.beo.so">www.beo.so</a><o:p></o:p></p><p class=MsoPlainText>M: 07515653219<o:p></o:p></p><p class=MsoPlainText>E:  <a href="mailto:Nick@beo.so">Nick@beo.so</a> <o:p></o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><br><br></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> chat-bounces@lists.lrug.org [mailto:chat-bounces@lists.lrug.org] <b>On Behalf Of </b>Ben Aldred<br><b>Sent:</b> 05 March 2012 15:12<br><b>To:</b> London Ruby Users Group<br><b>Subject:</b> Re: [LRUG] Upgrading a Rails v2.1.2<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi Chris,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>About a month ago I did an update from 2.4 to Rails 3.1 but without asset pipeline enabled. It was a little bit painful because the unit test coverage was patchy.<o:p></o:p></p></div><div><ol start=1 type=1><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'>The Rails upgrade plugin was useful<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'>I used Git to manage the upgrade<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'>There are a few Railscasts about it which are helpful and it looked liked using rvm may have helped (i'm using rbenv)<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1'>Make sure your unit test coverage is good!!!<o:p></o:p></li></ol><div><p class=MsoNormal>The pain points I encountered<o:p></o:p></p></div></div><div><ol start=1 type=1><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2'>The Active Record sytax had changed a lot and there were a lot of scopes and DB calls in the app I upgraded, some where missed by the plugin.<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2'>There was RJS in the app (errh) which caused a few issues but the prototype gem helped a lot with that.<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2'>The mailers changed but actually not too much bother<o:p></o:p></li><li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2'>Some gems did not work and had to be patched or removed<o:p></o:p></li></ol><div><p class=MsoNormal>+1 for ruby 1.9<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Hope that helps,<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Ben<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-- <br>Ben Aldred<o:p></o:p></p><div><p class=MsoNormal>Director, Tiny Code Factory<o:p></o:p></p></div><div><p class=MsoNormal><a href="http://tinycodefactory.com/" target="_blank">web</a> | twitter: <a href="http://twitter.com/tinycodefactory" target="_blank">@tinycodefactory</a> | <a href="http://facebook.com/tinycodefactory" target="_blank">facebook</a><o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On 5 March 2012 15:10, Sidu Ponnappa <<a href="mailto:ckponnappa@gmail.com">ckponnappa@gmail.com</a>> wrote:<o:p></o:p></p><p class=MsoNormal>Go all the way, but via 2.3. Basically 2.1.2 => 2.3.latest => 3.2<o:p></o:p></p><div><p class=MsoNormal><br>> I'm assuming that the upgrade to 2.3.4 should be reasonably straight forward<o:p></o:p></p></div><p class=MsoNormal>That depends on how much metaprogramming fun people have had on this<br>codebase and how many of your plugins made the transition from 2.1 to<br>2.3.<o:p></o:p></p><div><p class=MsoNormal><br>> One thing that is looming in the background is that the test coverage is, er, not 100% and that a lot of the code has been written a long time ago by coders who are no longer here.<o:p></o:p></p></div><p class=MsoNormal>The last time we did something like this for a client, it took seven<br>months. Most of this earned us no revenue because we estimated it<br>would take four weeks (the app had decent coverage) and billing our<br>client for this kind of miscalculation on our part would have been<br>unfair. *sigh*<o:p></o:p></p><div><p class=MsoNormal><br>> Anyone get any words of advice?  Is it worth the pain?<o:p></o:p></p></div><p class=MsoNormal>Not really. If the app is business critical, you just have to deal<br>with it. Just remember to set realistic expectations around delivery<br>timelines (anywhere from 2 weeks to several months :P) and ensure that<br>there is a development freeze in place on the codebase while the<br>migration is in progress. Also, don't do both Ruby and Rails at the<br>same time.<br><br>Best,<br>Sidu Ponnappa.<br><a href="http://c42.in" target="_blank">http://c42.in</a><br><a href="http://rubymonk.com" target="_blank">http://rubymonk.com</a><br><a href="http://twitter.com/ponnappa" target="_blank">http://twitter.com/ponnappa</a><o:p></o:p></p><div><div><p class=MsoNormal><br><br>On 5 March 2012 20:22, Chris Waters <<a href="mailto:chris@yougroup.co.uk">chris@yougroup.co.uk</a>> wrote:<br>> Hi LRUG,<br>><br>> I've got a pretty large application (200ish model classes, 100ish<br>> controllers) that's been running happily(ish) for about 4 years now.<br>><br>> It is Rails 2.1.2 running against Ruby 1.8.7.  It feels as though it is time<br>> that we brought things up-to-date as things are starting to creak.<br>><br>><br>> To my mind, there are 2 options;<br>> * we upgrade to v2.3.4 and be happy with that for now<br>> * or continue on from 2.3.4 and go the whole hog and get to v3.2<br>><br>> One thing that is looming in the background is that the test coverage is,<br>> er, not 100% and that a lot of the code has been written a long time ago by<br>> coders who are no longer here.<br>><br>> I'm assuming that the upgrade to 2.3.4 should be reasonably straight<br>> forward, and that the big leap to 3.2 is likely to hurt more.<br>><br>><br>> Anyone get any words of advice?  Is it worth the pain?  How many people out<br>> there are still running against 2.1.2?<br>><br>><br>> Thanks for any comments/help<br>><br>> Chris.<br>><br>><br>> Chris Waters<br>> Lead Developer<br>> YOU Group<br>> _______________________________________________<br>> Chat mailing list<br>> <a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>> <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>_______________________________________________<br>Chat mailing list<br><a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br><a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><o:p></o:p></p></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></body></html>