Download - Migration Rails 2.0 2.2
![Page 1: Migration Rails 2.0 2.2](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/1.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/2.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/3.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/4.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/5.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/6.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/7.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/9.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/10.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/11.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/12.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/16.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/17.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/18.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/19.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022100517/555932f0d8b42a4f3d8b49ee/html5/thumbnails/20.jpg)
Migration de Rail 2.0 a 2.2
Amelioration possible avec Rails 2.2
Question ?