私は、2 つのレガシー データベースから 57k 以上のレコードを 1 つの Django 互換エンティティに改良およびリファクタリングする作業を行ってきました。完了したら、それをフィクスチャとしてダンプし、本番環境にロードしようとしています。
私の問題は、しばらくするとプロセスが「強制終了」されることです。私のプロセスは次のとおりです。
./manage.py syncdb --noinput
./manage.py loaddata core/fixtures/auth.json # just a default user
./manage.py migrate
結果:
Running migrations for django_extensions: # custom apps migrate just fine
- Migrating forwards to 0001_empty.
> django_extensions:0001_empty
- Loading initial data for django_extensions.
Installed 0 object(s) from 0 fixture(s)
Running migrations for myotherapp:
- Migrating forwards to 0001_initial.
> myotherapp:0001_initial
- Loading initial data for myotherapp.
Installed 4 object(s) from 1 fixture(s) # my other app with a fixture migrates ok
Running migrations for myapp:
- Migrating forwards to 0001_initial.
> myapp:0001_initial
- Loading initial data for myapp.
Killed
私の開発マシンでは、プロセスが問題なく進行していることに注意する必要があります。もう 1 つの注意点として、私の開発マシンは postgres 9.2 を実行していますが、本番環境では 9.1 を実行しています。これはそれほど大きな問題なのでしょうか?
これをデバッグするにはどうすればよいですか? 漠然と「殺された」と印刷されているので、何が悪いのかさえわかりません。South はログを保存しますか? どんな助けでも感謝します。
編集: Paulo Scardine が指摘したように、問題は JSON ファイルが重すぎることにありました。最初に XML ダンプを試してみましたが、さらに進みましたが、最終的には強制終了されました。行く方法はSQLダンプです。Postgresの場合、私にとってうまくいったのは次のとおりです。
pg_dump dbname | gzip > filename.gz # dump data on dev machine
createdb dbname # create empty db in production
gunzip -c filename.gz | psql dbname # restore the dump in production