Самый простой способ перенести проект Django из MySQL в PostgreSQL - PullRequest
4 голосов
/ 05 декабря 2011

Я хотел бы преобразовать базу данных моего проекта Django из MySQL в PostgreSQL. К сожалению, я не могу просто использовать команды управления Django «dumpdata» и «loaddata», потому что мои таблицы базы данных слишком велики. Я уже читал статью http://www.ofbrooklyn.com/2010/07/18/migrating-django-mysql-postgresql-easy-way/,, но, похоже, чтобы использовать этот метод на практике, мне все равно нужно превратить его в нечто вроде команды управления, которая выполняет итерации по доступным моделям, когда копирует экземпляры модели и сбрасывает последовательности. Кроме того, он тоже не очень быстрый, потому что он выдает save () для каждого экземпляра модели.

Есть ли лучший способ миграции? На самом деле, я бы предпочел сделать «mysqldump», преобразовать дамп из MySQL в формат PostgreSQL и затем загрузить его в PostgreSQL. Какое программное обеспечение вы бы порекомендовали, чтобы можно было выполнить такое преобразование дампа и правильно преобразовать типы данных MySQL в типы данных PostgreSQL, например tinyint (1), в логические значения?

Редактировать Спасибо всем за помощь. Я успешно перенес свою базу данных с помощью утилиты https://github.com/maxlapshin/mysql2postgres. Однако после импорта дампа мне все же пришлось самостоятельно сбрасывать последовательности в получающейся базе данных PostgreSQL.

Ответы [ 2 ]

3 голосов
/ 05 декабря 2011

Для этого есть несколько преобразователей, например, этот в Ruby: https://github.com/maxlapshin/mysql2postgres

0 голосов
/ 05 декабря 2011

Если ваш набор данных большой и вам нужно выполнить любое преобразование, вы можете использовать решения с открытым исходным кодом, такие как talend studio и проект чайника из pentaho , чтобы создать карту, и потребуетсязабота об отдыхе;но это может быть излишним, если вы не хотите выполнять какие-либо преобразования (или ваш набор данных действительно очень большой).

EnterpriseDB (компания, стоящая за postgresql) предоставляет студию миграции данных продукт, который делает это вместе с guide , если вы хотите сделать это самостоятельно.

Пакет Python py-mysql2pgsql является еще одним вариантом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...