Migrez simplement vos applis Django d'un SGBDR à un autre

Posté le 27 octobre 2008

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

#1

iMeee, le 19 août 2010 à 14:43 :

Merci pour cette astuce !

Poster un commentaire