2010-01-13 15 views
5

Ne vale la pena?Quanto è difficile aggiornare da Rails 1.2.3 a 2.3.5?

Sto lavorando alla valutazione di una base di codice legacy per un client: il codice sorgente è stato in gran parte non modificato dal 2007 ed è stato creato con Rails 1.2.3.

L'esperienza di My Rails è iniziata alla versione 2.1 - il codice è abbastanza di serie/scaffold come e privo di test significativi - ero curioso di vedere se potevo farlo funzionare localmente - ma, non sono nemmeno certo da dove cominciare Subito non sa nemmeno cosa significhi "rastrello db: creare". Ha!

Sta diventando un grosso problema persino farlo funzionare in 2.3.5? Dovrei preoccuparmi?

Mi piacerebbe sentire i vostri pensieri.

Grazie

+0

Tutto, grazie per i vostri commenti. Così apprezzato È sicuramente un giudizio e lo valuterò dove il mio cliente vuole andare con l'applicazione. Hanno accennato al ritiro di ampie porzioni del sito, passando da un sito cms driven a un'app web più socialmente guidata. Ho già scoperto una serie di grandi oggetti che lo sviluppatore precedente ha creduto che ora sono relativamente facili (o più facili) da implementare (autenticazione/autorizzazione, invio di e-mail, caricamento di file, ricerca, impaginazione) questi elementi mi fanno pensare che è ora di "studia" cosa c'è e usa la versione precedente come riferimento. – rsturim

risposta

4

Se avete intenzione di essere attivamente lo sviluppo del sito, allora sì, vale la pena affondare il tempo nel progetto per portarlo fino ad oggi. Molto è successo da Rails 1.2 che renderà lo sviluppo un'esperienza molto più piacevole. La vita senza scope nominati o risorse RESTful è davvero difficile. Se stai rattoppando la strana cosa qua e là, potrebbe valere la pena di lasciarla per lo più così com'è e di affrontare le eccentricità.

Dal momento che 1.2.3 è appena precedente alle versioni fino a 2.0 in cui sono stati introdotti un sacco di avvisi e avvisi di ritiro, si potrebbe avere un po 'di fatica.

Alcune cose da tenere d'occhio per:

  • Le migrazioni sono ora data-tag, non numerato, ma sono almeno compatibili
  • Molti vendor/plugins potrebbero non funzionare, non hanno 2. x versione compatibile, o deve essere aggiornato
  • Il motore di routing è cambiato, e il nome di molti percorsi potrebbe essere cambiato, quindi vedere quale rastrello: percorsi dice e si prepara per un sacco di search-and-replace
2

L'ho fatto per un cliente con un sito piccolo. Innanzitutto, il controllo della versione è tuo amico. Assicurati di aver commesso l'intero codebase.

Avanti, la ricetta di base è la seguente

  1. Tag sorgente corrente
  2. Update per la prossima versione di rotaie (dovrete google per l'annuncio di rilascio). La mia app è stata bloccata, quindi ho dovuto semplicemente bloccare quella versione
  3. rastrelliera: aggiornamento per aggiornare la configurazione, gli script e js
  4. Diff la tua copia di lavoro rispetto alla versione nel tuo scm. Apporta le modifiche necessarie all'app
  5. Aggiorna eventuali gemme/plug-in se necessario
  6. Avvia l'app, esegui e prova. Cercare le comunicazioni deprecazione
  7. Quando tutto sembra buono, si impegnano a scm e tag
  8. Schiuma, sciacquare, ripetere

per App del mio cliente, era molto più facile di quanto pensassi.

Problemi correlati