Conversion de la base de données MySQL en base de données Postgres avec Django
Sauvegardez d'abord vos données de l'ancienne base de données Mysql dans les appareils json :
$ python manage.py dumpdata contenttypes --indent=4 --natural-foreign > contenttype.json
$ python manage.py dumpdata --exclude contenttypes --indent=4 --natural-foreign > everything_else.json
Ensuite, basculez vos paramètres.DATABASES vers les paramètres postgres.
Créez les tables dans Postgresql :
$ python manage.py migrate
Supprimez maintenant tout le contenu qui est automatiquement créé dans la migration (types de contenu django, groupes d'utilisateurs, etc.) :
$ python manage.py sqlflush | ./manage.py dbshell
Et maintenant, vous pouvez tout importer en toute sécurité, et garder votre PK identique !
$ python manage.py loaddata contenttype.json
$ python manage.py loaddata everything_else.json
Testé avec Django==1.8