Django | Migrez simplement vos applis Django d'un type de base de donne à  une autre

S'il vous est déjà  arrivé de devoir migrer des données d'un type de base de donne à  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...

Résolution :

Heureusement les développeurs de Django ont pensé à tout !

Il suffit d'exporter les données de l'application à migrer au format XML comme ceci:

# ./manage.py dumpdata --indent 2 --format=xml <app> > data-dump.xml


Modifiez ensuite votre settings.py afin de configurer le nouveau type de base de donne à utiliser et lancer la commande :

# ./manage.py migrate

Pour recréer la structure et ré'importer les données de la base, il suffit d'executer cette commande :

# ./manage.py loaddata data-dump.xml -v3

Indroduction

S'il vous est déjà  arrivé de devoir migrer des données d'un type de base de donne à  un autre, vous savez donc que la tache 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...

Infos Sup.

<app> est a modifier par le nom de l'application.

Pour eviter les erreurs de migration, je vous invite à faire application par application et ne pas migrer la partie admin et de partir sur la recréation d'un super utilisateur.


* Article mise a jour le 11-01-2024

Nombre de Lectures : 1106
Date de mise en ligne : 01 jan. 2024 à 06:00

Les Catégories

Django

Une Pub