Aggiornamento da Rails 2.3.8 a 4.0

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.

  • Parte 1
  • Parte 2
  • Parte 3

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.