プロダクション以外initial_data
は毎回ロードしたいフィクスチャがあります。実稼働環境と非実稼働環境の展開用に、すでに異なる設定ファイルがあります。
これを達成する方法について何か提案はありますか?
明確化:テストフィクスチャは必要ありません。基本的には、ある種の設定変更に基づいてフィクスチャをロードする必要があります。Djangoコードを掘り下げて、これを実現するためのエレガントな方法を見つけられるかどうかを確認します。
プロダクション以外initial_data
は毎回ロードしたいフィクスチャがあります。実稼働環境と非実稼働環境の展開用に、すでに異なる設定ファイルがあります。
これを達成する方法について何か提案はありますか?
明確化:テストフィクスチャは必要ありません。基本的には、ある種の設定変更に基づいてフィクスチャをロードする必要があります。Djangoコードを掘り下げて、これを実現するためのエレガントな方法を見つけられるかどうかを確認します。
必要に応じて、テストごとに異なるテストフィクスチャを実際に設定できます: http ://docs.djangoproject.com/en/dev/topics/testing/#topics-testing-fixtures
フィクスチャを一度にロードするだけの場合は、最初にそのセットアップを実行できるカスタムTestRunnerを作成することもできます。
docs.djangoproject.com/en/dev/topics/testing/#using-different-testing-frameworks
これらは両方とも、syncdbで行われるように本番フィクスチャからデータをロードしますが、データをオーバーライドしたり、すべてを削除したりすることもできます。大量のデータを本番製品にロードする場合、これは最適ではない可能性があります。この場合は、load_production_dataのようなカスタムコマンドを追加して、コマンドラインからすばやく簡単に実行できるようにすることをお勧めします。
最も簡単な方法はmanage.py testserver [fixture ...]
ただし、これが(開発ではなく)ステージングデプロイメントである場合は、djangoの組み込みサーバーを使用したくない場合があります。その場合、あなたが求めていることを行うための迅速な(ハッキーな場合)方法は、非本番環境にのみインストールされるアプリ(たとえば、「アンデプロイ」と呼ばれる)にフィクスチャを含めることです。