ある時点で、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
確認した後、すべてがエラーなしで開始されます。 次は最適化の時間です。
この説明が、同様の問題に遭遇した人に役立つことを願っています。