バックエンドとしてmysqlを使用するdjango 1.4プロジェクトがあります。メモリ内で実行するようにテストをセットアップしました
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
問題は、mysql 機能 (全文インデックス) を使用する必要があることです。
テストのためにメモリ内で django に MySQL を実行させる方法はありますか?
私のプロジェクトはフルテキスト インデックスに依存しています。プロジェクトが I syncdb で開発されている場合.sql
、SQL を含むファイルを実行して全文索引を作成します。
テストする機能でdjango orm全文検索を使用したいと思います。次のように、各テストの初期化でフルテキスト インデックスを手動で追加しようとしています。
cursor.execute('alter table mytable add fulltext(one, two)')
sqlite を使用している場合、これは機能しません (sqlite はフルテキスト インデックス作成をサポートしていないためだと思います)。
上記のSQLは、メモリ内テストを削除すると機能します。インメモリテストの速度が気に入っています。 メモリ内で mysql を実行する方法はありますか?
データベース固有の機能に依存するアプリをどのようにテストしますか? 全文索引付けや GIS などのように...ファイルシステム上で通常どおりテストを実行する必要がありますか?
ありがとうございました