Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso convertire facilmente un'app Django da MySQL a PostgreSQL?

Conversione del database MySQL in database Postgres con Django

Per prima cosa esegui il backup dei dati del vecchio database Mysql in dispositivi 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

Quindi cambia i tuoi settings.DATABASES alle impostazioni di postgres.

Crea le tabelle in Postgresql:

$ python manage.py migrate

Ora elimina tutto il contenuto che viene creato automaticamente durante la migrazione (tipi di contenuto django, gruppi di utenti ecc.):

$ python manage.py sqlflush | ./manage.py dbshell

E ora puoi importare tutto in sicurezza e mantenere il tuo pk lo stesso!

$ python manage.py loaddata contenttype.json
$ python manage.py loaddata everything_else.json

Testato con Django==1.8