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 : 1620
Date de mise en ligne : 01 jan. 2024 à 06:00