Sto eseguendo un’applicazione su Rails 2.3.8. Sto pensando di aggiornarlo su Rails 4.0 (che è in RC). Quale sarà il modo più semplice per me di farlo? Devo prima eseguire l’upgrade a Rails 3.x?
Nota: nella mia attuale implementazione, sto usando lo storno e il furetto; come parte dell’aggiornamento, sto anche considerando di passare a sidekiq e sunspot
Questo è un processo a più fasi e, a seconda delle dimensioni dell’applicazione, può richiedere molto tempo. Ad ogni passo, ti consigliamo di testare la tua applicazione per bug e problemi e gemme rotte (perché sicuramente stanno per apparire). Ho incluso i collegamenti per i passaggi più complicati. Ecco il percorso del meno dolore:
Aggiornamento a Rails 2.3.18.
Aggiornamento a Ruby 1.9.3.
Aggiornamento a Rails 3.0.
Aggiornamento alle guide 3.1.
Aggiornamento a Rails 3.2.latest.
Aggiornamento a Ruby 2.0.latest.
Aggiornamento a Rails 4.0 .
Aggiornamento da Rails 4.0 a Rails 4.1 .
Aggiornamento da Rails 4.1 a Rails 4.2 .
Aggiornamento da Rails 4.2 a Rails 5.0 .
Aggiornamento da Rails 5.0 a Rails 5.1 .
Bonus: se hai una grande applicazione, ci vorrà molto tempo. Se si dispone di una grande squadra, i rami di lunga durata diventano un enorme mal di testa a causa di ricorrenti conflitti di unione. Una strategia per mitigare questo è avviare la propria applicazione con entrambe le versioni di Rails in modo da poter avere la nuova versione in esecuzione sul ramo master, piuttosto che su una propria diramazione a lungo termine.
La risposta di Aaron Gray è molto utile, ma a volte è molto difficile dopo l’aggiornamento trovare le differenze tra la versione di rails nel codice. Voglio dire, molte volte dopo l’aggiornamento qualcosa non funziona. Forse potrebbero esserci alcune modifiche nel file o alcuni file potrebbero essere aggiunti o rimossi nella versione più recente. C’è uno strumento piacevole, come puoi scoprire tutte le differenze tra le versioni e confrontarle. È sulle differenze di Rails e potrebbe essere molto utile per scoprire alcuni potenziali errori e bug.