Migrez simplement vos applis Django d'un SGBDR à un autre
S'il vous est déjà arrivé de devoir migrer des données d'un SGBDR à un autre, vous savez donc que la tâche n'est souvent pas évidente. En effet, un dump SQL d'une base MySQL n'est pas identique à celui d'une base PostgreSQL (ou autre), il est donc nécessaire de faire des modifications avant la réimportation. Bref, pas très pratique et souvent long...
J'ai eu ce genre de problème, il y a peu, lorsqu'il m'a fallu migrer ce blog d'une base MySQL à du SQLite pour pouvoir travailler en local avec les mêmes données sans être obligé d'installer MySQL. Heureusement les développeurs de Django ont pensé à tout !
Il suffit d'exporter les données de l'appli à migrer au format XML comme ceci:
./manage.py dumpdata --format=xml <app> > data-dump.xml
modifiez ensuite votre settings.py afin de configurer le nouveau SGBDR à utiliser et lancer un:
./manage.py syncdb
pour recréer la structure de la base, suivi de la commande:
./manage.py loaddata data-dump.xml
pour réimporter les données.
C'est tout ! :)
Commentaires
iMeee, le 19 août 2010 à 14:43 :
Merci pour cette astuce !
Poster un commentaire