Je dois migrer ma base de données de sqlite vers mysql, et les divers outils/scripts disponibles sont trop nombreux pour que je puisse facilement identifier la solution la plus sûre et la plus élégante.
Cela me semblait gentil http://djangosnippets.org/snippets/14/ mais cela fait 3 ans que je reçois une mise à jour, ce qui est inquiétant.
Pouvez-vous recommander une solution réputée fiable avec Django 1.1.1?
Exécuter:
python manage.py dumpdata > datadump.json
Ensuite, changez votre fichier settings.py dans la base de données mysql.
Finalement:
python manage.py loaddata datadump.json
Après des recherches approfondies, j'ai eu plusieurs problèmes qui, je l'espère, seront utiles à l'avenir.
ma formule est
python manage.py dumpdata > datadump.json
python manage.py migrate --run-syncdb
Exclure les données contentype avec cet extrait
from Django.contrib.contenttypes.models import ContentType
ContentType.objects.all().delete()
quit()
python manage.py loaddata datadump.json
J'espère que cela vous aidera!
Une liste (plus complète) des étapes nécessaires pour passer de SQLite à MySQL, YMMV:
SET GLOBAL FOREIGN_KEY_CHECKS = 0;
from Django.contrib.contenttypes.models import ContentType
ContentType.objects.all().delete()
quit()
cat datadump.json | python -m json.tool > datadump_pretty.json
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -D mysql -P 1234 -u root -p --protocol=tcp
mysql -P 1234 -u root -p -e "flush tables" --protocol=tcp