Come posso realizzare la mia applicazione Ruby on Rails 2.3.4 & # 8220; Rails 3-ready & # 8221;

StackOverflow https://stackoverflow.com/questions/1435128

  •  07-07-2019
  •  | 
  •  

Domanda

Sto sviluppando un'applicazione con Ruby on Rails che voglio mantenere per almeno alcuni anni, quindi sono preoccupato per la prossima versione in arrivo.

Passare da Rails 1 a Rails 2 è stato un dolore così grande che non mi sono preoccupato, ho congelato le mie gemme e lasciato morire l'applicazione, da sola, al buio.

In questo progetto non voglio farlo. Innanzitutto perché questa nuova versione sembra fantastica , ma anche perché questa applicazione potrebbe trasformarsi in un prodotto reale.

  • Come posso preparare la mia applicazione in modo che possa essere aggiornata con il minor numero di modifiche possibile.

  • Quanto tempo impiegherai a cambiare versione?

  • E il mio server? Distribuzione?

Sto già esaminando gli avvisi di deprecazione ... cos'altro posso fare?

È stato utile?

Soluzione

La cosa migliore che potresti fare sarebbe seguire lo sviluppo di Rails 3 tramite blog e repository Github e tenere una copia della tua app insieme ad essa.

Il blog di Ruby on Rails ufficiale viene aggiornato con " Novità di Edge " post ogni tanto. Ci sono altro blog che spesso scrivono anche cose nuove a margine. Le funzioni più grandi sono spesso evidenziate in questi blog, quindi conosci tutte le nuove fantastiche funzionalità con cui puoi giocare.

Non sono sicuro di quanto sia vicino Rails 3 (l'ultima volta che ho sentito che il core team stava parlando di un rilascio a RailsConf 2009 a maggio), ma puoi sempre bloccare la versione edge di Rails nella tua applicazione e vedere cosa si rompe. Se si utilizza git o un altro DVCS, è possibile creare un ramo appositamente per Rails 3 e aggiornare periodicamente Rails all'ultimo codice Edge. Basta essere consapevoli del fatto che Edge Rails è un obiettivo mobile, quindi le cose nella tua app potrebbero rompersi o risolversi mentre stai inserendo il codice Rails più recente.

Aggiornamento: Jeremy McAnally ha un sacco di informazioni sull'aggiornamento da Rails 2 a Rails 3 sul suo blog. http://omgbloglol.com/

Altri suggerimenti

Non credo che ci sarà un grosso problema. Andando via da quanto detto in quel rapporto iniziale, il team di Rails si è reso conto che non è possibile eseguire una riscrittura importante come hanno fatto dall'1 al 2.

Dicono persino:

  

Sono sicuro che ci saranno alcune parti di Rails 3 che sono incompatibili, ma cercheremo di ridurle al minimo e renderemo davvero semplice la conversione di un'applicazione Rails 2.x su Rails 3.

Sarei più preoccupato di passare da Merb a Rails 3.

L'unica cosa più importante che puoi fare per semplificare la migrazione a una nuova versione di rotaie è avere una suite di test completa. Senza una buona suite di test, non avrei mai la certezza che la nuova versione di Rails non abbia rotto qualcosa nella mia app. Nell'attuale app Rails su cui sto lavorando, siamo partiti su Rails 2.1.1 nell'ottobre del 2008. Da allora, siamo passati a Rails 2.1.2, 2.2.2, 2.3.2, 2.3.3 e ora 2.3.4. Ho fatto le migrazioni alla 2.3.2, 2.3.3 e 2.3.4 ... e per gli aggiornamenti 2.3.2 e 2.3.3, abbiamo avuto alcuni test falliti che ci hanno avvisato di problemi che non avremmo scoperto senza avere un tale buona suite di test. I test falliti in realtà ci hanno avvisato di un bug regressivo nelle rotaie che esisteva una patch per il faro di Rails ma che non era incluso nella versione (da quando è stato scoperto, subito dopo la versione).

Dopo aver installato la suite di test, mantieniti aggiornato con ogni versione di rotaie (attendere un paio di settimane per l'aggiornamento va bene, non saltare nessuna delle versioni).

Yehuda Katz (un membro del core team di Rails) ha dichiarato che molto probabilmente ci sarà una versione transitoria, contenente avvisi di deprecazione e simili.

Quindi, finché si dispone di una buona suite di test per esporre gli inevitabili problemi di aggiornamento e rimanere aggiornati con la versione di Rails, la migrazione a Rails 3 non dovrebbe essere troppo difficile.

Semplice come:

Grandi screencast di Ryan Bates.

Per preparare la tua domanda, nel modo migliore ciò che ha detto Jared. Segui lo sviluppo di Rails3.

Per il lungo tempo, penso che dipenda da come hai seguito lo sviluppo di rails3 prima della sua uscita.

E per la distribuzione, non dovrebbe richiedere troppi problemi. Rails 3 utilizzerà Rack. Quindi puoi avviarlo con ibrido, passeggero o qualsiasi server / gateway non dovrebbe darti alcun problema.

Ci sono alcune importanti modifiche in Rails 3, che ho pubblicato sulla mia esperienza nell'aggiornamento della mia app a Rails 3 qui: http://rails3.community-tracker.com/permalinks/5/notes-from-the-field-upgrading-to-rails-3

Un buon inizio nella preparazione sarebbe migrare all'utilizzo del bundler. E facendo una revisione molto approfondita delle stringhe che passeranno attraverso il nuovo schema di protezione XSS.

Ci saranno alcuni controlli automatici di compatibilità. Inoltre, tieni d'occhio http://www.railsplugins.org/ in modo da sapere se le librerie su cui dipenderai verranno aggiornati. Il team di Rails Core sembra stia dando un sacco di preavviso alla comunità questa volta, quindi qualsiasi lib che è attivamente mantenuta dovrebbe andare bene.

Fai solo una cosa

prima fai un backup del tuo vecchio progetto e poi

sul terminale (prompt dei comandi) scrivere

rails new path/of/the/project

ad esempio se il mio progetto 2.3. * è su home / rails_projects / myproject , quindi

rails new home/rails_projects/myproject

o

cd home/rails_projects
rails new myproject

Chiederà se sono state apportate modifiche in qualsiasi / config o altri file. Adeguato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top