0

発生している問題がどこで発生しているのか正確にはわかりません。デプロイタスクを実行すると、rakethinking_sphinx:configureは正常に機能しますが、インデックスを作成しようとすると、次のエラーが発生します。

エラー:インデックス'board_core':列6に名前がありません。
エラー:インデックス'board_delta':列6に名前がありません。

...すべてのインデックスとデルタインデックスについても同様です。最初は、これはcapistranoの問題だと思いました。これは、WindowsマシンとMacでプロジェクトをセットアップし、capstagingdeployをubuntuセットアップにデプロイするためです。

エラーのように見えるクエリのSQLは次のとおりです。

SELECT `boards`.`id` * 5 + 2 AS `id` , CAST(`boards`.`name` AS CHAR) AS `name`, CAST(`boards`.`display_name` AS CHAR) AS `display_name`, CAST(`boards`.`description` AS CHAR) AS `description`, `boards`.`id` AS `sphinx_internal_id`, 2576811075 AS `class_crc`, '2576811075' AS `subclass_crcs`, 0 AS `sphinx_deleted`, UNIX_TIMESTAMP(`boards`.`created_at`) AS `created_at`, GROUP_CONCAT(DISTINCT `users`.`id` SEPARATOR ',') AS `user`, GROUP_CONCAT(DISTINCT `user_boards_boards`.`id` SEPARATOR ',') AS `user_board`, COUNT(user_boards.id) AS `num_users` FROM `boards`    LEFT OUTER JOIN `user_boards` ON (`boards`.`id` = `user_boards`.`board_id`)  LEFT OUTER JOIN `users` ON (`users`.`id` = `user_boards`.`user_id`)   LEFT OUTER JOIN `user_boards` user_boards_boards ON user_boards_boards.board_id = boards.id  WHERE `boards`.`id` >= $start AND `boards`.`id` <= $end AND `boards`.`delta` = 0 GROUP BY `boards`.`id`  ORDER BY NULL

..壊れている部分は、「sphinx_deleted」としてselect 0であることを意味します。\これは、私には問題ないようです(mysqlを介して直接呼び出すと、もちろん$startと$endを使用するwhere句の部分を除いて機能します)。エラーの原因がわかりません。私の唯一の考えは、スフィンクスのインデクサーがエラーになっているということですが、それが事実である場合、私はまだこれを解決する方法がわかりません。

ヘルプ/ヒントを事前に感謝します。

4

1 に答える 1

0

mysql サーバーのバージョンと mysql クライアントのバージョンは何ですか。このエラーは、クライアントが 5.1 を実行している場合、またはバージョンの不一致がある場合によく発生します。

于 2009-10-01T04:18:04.190 に答える