Предпологается что у нас есть рабочее приложение работающее на Django, и используещее MySql в качестве базы данных.
Так же уже имеется свежесозданная база даных Postgres
Прежде всего нам понадобятся следующие модули:
$ pip install psycopg2 $ pip install py-mysql2pgsql
далее запускаем:
$ py-mysql2pgsql
эта команда создаст файл mysql2pgsql.yml примерно следующего содержания:
mysql: hostname: localhost port: 3306 socket: /tmp/mysql.sock username: foo password: bar database: your_database_name compress: false destination: postgres: hostname: localhost port: 5432 username: foo password: bar database: your_database_name
этот файл мы приводим к нежному нам виду и дальше запускаем:
$ py-mysql2pgsql -v -f mysql2pgsql.yml
эта команда переведет все данные из MySql в Postgres
теперь самое главное внести необходимые изменения в settings.py
DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql_psycopg2", "NAME": "your_database_name", "USER": "your_username", "PASSWORD": "your_password", "HOST": "localhost", "PORT": "5432", } }
ну и проверить все ли правильно у нас перенеслось