2011-12-05 38 views
4

DjangoプロジェクトのデータベースをMySQLからPostgreSQLに変換したいと思います。残念ながら、Djangoの "dumpdata"と "loaddata"管理コマンドはデータベーステーブルが大きすぎるため使用できません。私は既にhttp://www.ofbrooklyn.com/2010/07/18/migrating-django-mysql-postgresql-easy-way/という記事を読んでいますが、このメソッドを実際に使用すると、モデルインスタンスをコピーしてシーケンスをリセットするときに、利用可能なモデルを反復する管理コマンドのようなものに変える必要があるようです。また、各モデルインスタンスにsave()を発行するため、非常に高速に見えません。DjangoプロジェクトをMySQLからPostgreSQLに移行する最も簡単な方法

移行方法はありますか?実際には、 "mysqldump"を行い、MySQLからPostgreSQL形式にダンプを変換してPostgreSQLにロードします。このようなダンプ変換を実行し、MySQLのデータ型からPostgreSQLのものに正しく変換できるソフトウェアは、tinyint(1)からbooleanまで、どのようなソフトウェアをお勧めしますか?

ありがとうございました。ありがとうございました。 https://github.com/maxlapshin/mysql2postgresユーティリティを使用してデータベースを正常に移行しました。しかし、ダンプをインポートした後で、結果として得られたPostgreSQLデータベースのシーケンスを自分自身でリセットする必要がありました。

+0

私は自分の答えを削除しました。次回は質問の2倍を読みます。あなたの移行で幸運を祈る! – danihp

答えて

3

それにはいくつかのコンバータはRubyでこの一例のために、あります:あなたのデータセットが大きく、あなたがpentahoからのtalend studioのようなオープンソースソリューションとケトルのプロジェクトを使用することができます任意の変換を行う必要がある場合https://github.com/maxlapshin/mysql2postgres

+0

ありがとう、これを試してみました。私はすでにそれについて聞いたことがあるが、dbダンプも発生する可能性はあるとは知らなかった。 –

+0

私はRubyスクリプトのPythonの書き換えが私のために、より良い仕事を見つける:http://stackoverflow.com/questions/8895374/changing-django-database-backend-from-mysql-to-postgresql/8929667#8929667 – Anentropic

0

は、マップを作成し、残りの部分を処理します。しかし、これは変換をやりたい(またはあなたのデータセットが実際には本当に大きい)場合を除き、余計かもしれません。

EnterpriseDB(postgresqlの後ろにある会社)は、guideと一緒にこれを行うdata migration studio製品を提供します。

py-mysql2pgsql pythonパッケージは別のオプションです。

+0

私はいくつかを持っていましたTalend StudioとPentahoでの経験はありません。私はこの目的のために使用することを決して勧めません。 KIS - 特定の操作のために、小さくてシンプルで効率的なツールを使用します。耳鳴りを叩くためにハンマーを使うのは良い考えではありません... – boldnik

関連する問題