migration rails 2.0 2.2

20

Click here to load reader

Upload: cyril-mougel

Post on 18-May-2015

1.533 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Migration de Rail 2.0 a 2.2

Cyril Mougel

4 mars 2009

Page 2: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Context

1 Context

2 Blocage lie a Rails 2.1

3 Amelioration possible avec Rails 2.1

4 Blocage lie a Rails 2.2

5 Amelioration possible avec Rails 2.2

Page 3: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Context

Typo 5.1.3

supporte uniquement Rails 2.0.2

Pas d’evolution vers Rails 2.1

Couverture de code

Page 4: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.1

1 Context

2 Blocage lie a Rails 2.1

3 Amelioration possible avec Rails 2.1

4 Blocage lie a Rails 2.2

5 Amelioration possible avec Rails 2.2

Page 5: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.1

Mise a jour du projet

rake rails :update

Mise a jour des fichiers de boot

Mise a jour des fichiers de JS

Page 6: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.1

Plus de follow redirect dans les test de controlleur

Impossibilite d’utiliser follow redirect dans unTest :: ActionController

Utilisation uniquement dans les test d’integration

Inutile dans les test d’action

Page 7: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.1

Ce qui est deprecie ou supprime

render partial est supprime suite a sa deprecation sur Rails 2.0Utiliser render : partial

Page 8: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.1

1 Context

2 Blocage lie a Rails 2.1

3 Amelioration possible avec Rails 2.1

4 Blocage lie a Rails 2.2

5 Amelioration possible avec Rails 2.2

Page 9: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.1

Ajout des .last et .first

Plus besoin d’ecrire find( :first) ou find( :last)Maintenant User.first et User.last fonctionne.

User . f i n d ( : f i r s t )User . f i n d ( : l a s t )

=¿ User . f i r s tUser . l a s t

Page 10: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.1

named scope

named 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 => true } ,: o r d e r => ’ p u b l i s h e d a t DESC ’

named 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 }%” ]}

Page 11: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.1

suivi des evolutions du model

article.changed ?

article.name changed ?

=¿ UPDATE body=’foo’ FROM contents where id=’12’

Page 12: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.2

1 Context

2 Blocage lie a Rails 2.1

3 Amelioration possible avec Rails 2.1

4 Blocage lie a Rails 2.2

5 Amelioration possible avec Rails 2.2

Page 13: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.2

relative url root en configuration de ActionController

Le helper link to utilise relative url root

Avant : utilisait @request.relative url root

Maintenant : On defini directement dans la configuration :ActionController : :Base.relative url root

Page 14: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.2

Migration dans des transactions

Si la migration echoue, pas de mise a jour de la BDD

raise Exception == Migration Failed, meme avec rescue

Eviter tous les cas de Raise.

Page 15: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.2

Chargement des classes de controller avec cache classe= true

en production cache classe = true

Chargement des classes en memoire

rake db :migrate RAILS ENV=’production’ charge classe

si appel ActiveRecord en cache du controller == FAILED

rescue it

Page 16: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Blocage lie a Rails 2.2

et des trivialites

fragment cache store remplacer par cache store

TextHelper : :truncate prend un seul argument avec :length enoption. La methode avec plusieurs argument DEPRECATED

Page 17: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.2

1 Context

2 Blocage lie a Rails 2.1

3 Amelioration possible avec Rails 2.1

4 Blocage lie a Rails 2.2

5 Amelioration possible avec Rails 2.2

Page 18: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.2

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 ’ }})

Page 19: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.2

facilite de memoization

Utilisation simple de la memoization

def f i e l d s@ f i e l d s | |= [ ]

end

=¿

def f i e l d s@ f i e l d s = [ ]

endmemoize : f i e l d s

Page 20: Migration Rails 2.0 2.2

Migration de Rail 2.0 a 2.2

Amelioration possible avec Rails 2.2

Question ?