2011-02-05 10 views
2

1つのデータベースを持つdjangoプロジェクトがありました(デフォルト)。 Southはテストフレームワークとして移行スクリプトと鼻を生成するためにインストールされました。モデルはこのデータベース上に構築されました。すべてのテストが正常に実行されました。複数のデータベースを持つdjango noseとsouthの問題

その後、私はDATABASES設定に追加した2番目のデータベース(レガシー)を接続する必要がありました。私はこのデータベースにはraw SQLを使用し、モデルは使用しません。以前に実行されているテストを実行しようとしているときに、私は気づい:

  1. 鼻も
  2. デフォルトのDjangoのテーブル(認証_...など)も、このデータベースに作成されているレガシーデータベースのテスト・データベースを作成します
  3. 南はとても

私が望むどのようなテスト・レガシーデータベースの作成とその上に移行スクリプトの実行を無効にすることであるだけでなく、従来のデータベースに対するすべての移行スクリプトを実行して行うことができません。理想的には、raw SQLのcreate-insertステートメントを発行して、テストレガシーデータベースに自分でテーブルを作成したいと考えています。それは可能ですか?

ありがとうございました。

答えて

0

あなたのパスは、おそらくあなた自身のテスト実行管理コマンドを書くことです。これを行うには、既存のコマンドを上書きするか、目的の動作で別のコマンドを作成するだけです。

カスタム管理コマンドを作成するためのドキュメントは、公式django docsにあります。また、django-test-extensionsプロジェクトの在庫「テスト」コマンドを上書きするための適切な例があります。

関連する問題