通过Capistrano部署Thinking Sphinx产生'第6列没有名字'

时间:2009-07-23 01:25:21

标签: ruby-on-rails sphinx capistrano thinking-sphinx

我不确定我遇到的问题在哪里发生。当我运行部署任务时,rake thinking_sphinx:configure工作正常,但是当它尝试索引它时会发生以下错误:

错误:索引'board_core':第6列没有名称。
错误:index'board_delta':第6列没有名称。

...依此类推我的所有索引和delta索引。起初我认为这是capistrano的一个问题,因为我在Windows机器和mac上安装了项目,并且cap staging deploy部署到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

..意味着正在破坏的部分是选择0作为``sphinx_deleted \,这对我来说似乎很好(直接通过mysql调用它时,减去使用$的where子句的部分开始和$结束当然)所以我不知道是什么导致错误。我唯一想到的是sphinx的索引器是错误的,但如果是这样的话,我仍然不知道如何解决这个问题。

提前感谢任何帮助/提示。

1 个答案:

答案 0 :(得分:0)

什么是mysql服务器版本和mysql客户端版本。当客户端运行5.1或版本不匹配时,通常会发生此错误。