Kentaro KAWAMOTO
kenta****@gmail*****
2007年 3月 24日 (土) 12:59:01 JST
こんにちは。川本です。 MySQL 5.0.37 + Senna 1.0.3を使ってRailsアプリを作っています。 アプリケーションは問題なく動くのですが、 rails のテストケースを実行すると、 エラーが発生するので、報告いたします。 ご存じかもしれませんが、railsでは、 $ rake test:functionas というコマンドで、functional testを実行することができ、 その際に、 1. 開発用DBの構造をファイルにexport (SQL形式 (*)) 2. テスト用DBが既に存在すればdropし、その後再作成 3. exportされた構造テスト用DBにimport 4. テストに関連するテーブルのデータを削除 (DELETE FROM <table_name>) 5. テストに関連するテーブルにデータを挿入 6. テストコードの実行 ということが行なわれます。 (*) デフォルトでは、Rubyのコードとしてexportされますが、 オプションでSQL形式でexportすることができます。 Rubyコード形式では全文検索用indexがimportできない (おそらく、Railsが対応していないのだと思われます) ので、SQL形式でexport/importしています。 上記のステップ4でDELETE FROM <table_name>というSQLを発行したときに、 mysqldが落ちるようです。 何度か試したところ、エラーが発生しないときもあるので、 何かのタイミングの問題のような気もします。 また、開発用DBでFullText indexをdropした状態でテストすると、 正常にテストが行なわれます。 参考までに、エラーログとsennaログを添付します。 テーブル名などは、以下のように置換してあります。 bar_development: 開発用DB名 bar_test: テスト用DB名 senna_table: SennaのFullText indexを使用しているテーブル tbl1, tbl2, ...: その他のテーブル ご確認いただければと思います。 よろしくお願いします。 -- Kentaro KAWAMOTO kenta****@gmail*****