Djangoを使用してMySQLデータベースをPostgresデータベースに変換する
まず、古いMysqlデータベースのデータを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
次に、settings.DATABASESをpostgres設定に切り替えます。
Postgresqlでテーブルを作成します:
$ python manage.py migrate
次に、移行で自動的に作成されるすべてのコンテンツ(djangoコンテンツタイプ、ユーザーグループなど)を削除します:
$ python manage.py sqlflush | ./manage.py dbshell
これで、すべてを安全にインポートして、PKを同じに保つことができます!
$ python manage.py loaddata contenttype.json
$ python manage.py loaddata everything_else.json
Django ==1.8
でテスト済み