mysqlからpostgresqlへの移行

尊敬されるコミュニティにこんにちは!



ある時点で、django上のアプリケーションデータベースをmysqlからpostgresqlに転送する必要がありました。 この問題に対する最初の2つのアプローチは失敗しましたが、データの整合性を理解し、 manage.py syncdb



manage.py migrate



問題を根絶することがmanage.py migrate







最初の実行で、SQLシートをpostgresqlダイアレクトに変換してデータベースを転送しようとしました。

2回目の./manage.py dumpdata



では、. ./manage.py dumpdata



を使用して転送しようとしましたが、キーのエラー、無効なデータが絶え間なく./manage.py dumpdata



ました(データベースに多くの手動変更がありました)。



2回目と3回目の呼び出しの間に多くの時間が経過し、問題に関する最後のグーグルでこの記事が表示されました 。 道徳的に、私はギガバイトの行ごとのfootcloths sql / ymlを分析して解析する準備ができていましたが、このプロセスには空白がありました...そしてまだプロセスのシンプルさを試してみることにしました。



さあ、行こう(すべてがvirtualenvで行われ、空のデータベースがpostgresqlで作成された):

 $ pip install py-mysql2pgsql $ py-mysql2pgsql No configuration file found. A new file has been initialized at: mysql2pgsql.yml Please review the configuration and retry... $ vim mysql2pgsql.yml $ py-mysql2pgsql -v -f mysql2pgsql.yml
      
      







5分間待機した後(すべてが仮想マシンで行われ、それほど高度な構成ではありませんでした)。 : "created" NOT NULL



エラーで数回飛び: "created" NOT NULL



私の場合、これはマッスルテーブルのエントリを削除することで解決できます。



新しいデータベース構成: manage.py run_gunicorn



確認した後、すべてがエラーなしで開始されます。 次は最適化の時間です。



この説明が、同様の問題に遭遇した人に役立つことを願っています。



All Articles