Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Migration Rails 2.0 2.2

  • Be the first to comment

Migration Rails 2.0 2.2

  1. 1. Migration de Rail 2.0 ` 2.2 a Migration de Rail 2.0 ` 2.2 a Cyril Mougel 4 mars 2009
  2. 2. Migration de Rail 2.0 ` 2.2 a Context Context 1 Blocage li´ ` Rails 2.1 ea 2 Am´lioration possible avec Rails 2.1 e 3 Blocage li´ ` Rails 2.2 ea 4 Am´lioration possible avec Rails 2.2 e 5
  3. 3. Migration de Rail 2.0 ` 2.2 a Context Typo 5.1.3 supporte uniquement Rails 2.0.2 Pas d’´volution vers Rails 2.1 e Couverture de code
  4. 4. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.1 ea Context 1 Blocage li´ ` Rails 2.1 ea 2 Am´lioration possible avec Rails 2.1 e 3 Blocage li´ ` Rails 2.2 ea 4 Am´lioration possible avec Rails 2.2 e 5
  5. 5. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.1 ea Mise ` jour du projet a rake rails :update Mise ` jour des fichiers de boot a Mise ` jour des fichiers de JS a
  6. 6. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.1 ea Plus de follow redirect dans les test de controlleur Impossibilit´ d’utiliser follow redirect dans un e Test :: ActionController Utilisation uniquement dans les test d’int´gration e Inutile dans les test d’action
  7. 7. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.1 ea Ce qui est d´pr´ci´ ou supprim´ eee e render partial est supprim´ suite ` sa d´pr´cation sur Rails 2.0 e a ee Utiliser render : partial
  8. 8. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.1 e Context 1 Blocage li´ ` Rails 2.1 ea 2 Am´lioration possible avec Rails 2.1 e 3 Blocage li´ ` Rails 2.2 ea 4 Am´lioration possible avec Rails 2.2 e 5
  9. 9. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.1 e Ajout des .last et .first Plus besoin d’´crire find( :first) ou find( :last) e Maintenant User.first et User.last fonctionne. User . f i n d ( : f i r s t ) User . f i r s t =¿ User . f i n d ( : l a s t ) User . l a s t
  10. 10. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.1 e named scope n a m ed scope : p u b l i s h e d a r t i c l e s , : c o n d i t i o n s => { : p u b l i s h e d => t r u e : o r d e r => ’ p u b l i s h e d a t DESC ’ n a m ed scope : w i t h c h a r , lambda { | ∗ a r g s | : c o n d i t i o n s => [ ’ name LIKE ? ’ , ”%#{a r g s . f i r s t }%” ] }
  11. 11. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.1 e suivi des ´volutions du model e article.changed ? article.name changed ? =¿ UPDATE body=’foo’ FROM contents where id=’12’
  12. 12. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.2 ea Context 1 Blocage li´ ` Rails 2.1 ea 2 Am´lioration possible avec Rails 2.1 e 3 Blocage li´ ` Rails 2.2 ea 4 Am´lioration possible avec Rails 2.2 e 5
  13. 13. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.2 ea relative url root en configuration de ActionController Le helper link to utilise relative url root Avant : utilisait @request.relative url root Maintenant : On d´fini directement dans la configuration : e ActionController : :Base.relative url root
  14. 14. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.2 ea Migration dans des transactions Si la migration ´choue, pas de mise ` jour de la BDD e a raise Exception == Migration Failed, mˆme avec rescue e Eviter tous les cas de Raise.
  15. 15. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.2 ea Chargement des classes de controller avec cache classe = true en production cache classe = true Chargement des classes en m´moire e rake db :migrate RAILS ENV=’production’ charge classe si appel ActiveRecord en cache du controller == FAILED rescue it
  16. 16. Migration de Rail 2.0 ` 2.2 a Blocage li´ ` Rails 2.2 ea et des trivialit´s e fragment cache store remplacer par cache store TextHelper : :truncate prend un seul argument avec :length en option. La m´thode avec plusieurs argument DEPRECATED e
  17. 17. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.2 e Context 1 Blocage li´ ` Rails 2.1 ea 2 Am´lioration possible avec Rails 2.1 e 3 Blocage li´ ` Rails 2.2 ea 4 Am´lioration possible avec Rails 2.2 e 5
  18. 18. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.2 e les conditions par Hash A r t i c l e . a l l ( : c o n d i t i o n s => { : c r e a t e d a t => 5 . day . ago , : t a g s => { : name => ’ foo ’ } } )
  19. 19. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.2 e facilit´ de m´moization e e Utilisation simple de la m´moization e def f i e l d s def f i e l d s @fields = [] =¿ @ f i e l d s ||= [ ] end end memoize : f i e l d s
  20. 20. Migration de Rail 2.0 ` 2.2 a Am´lioration possible avec Rails 2.2 e Question ?

×