Ich bin nicht genau sicher, wo das Problem, das ich renne, auftritt. Wenn ich die deploy-Aufgabe ausführen, funktioniert das Rake thinking_sphinx: configure, aber wenn es versucht, es zu indizieren, tritt dieser Fehler auf:Deployment Thinking Sphinx durch Capistrano ergibt 'Spalte Nummer 6 hat keinen Namen'
FEHLER: index 'board_core': Spalte 6 hat keinen Namen.
FEHLER: Index 'board_delta': Spalte 6 hat keinen Namen.
... und so weiter für alle meine Indizes und Delta-Indizes. Zuerst dachte ich, das sei ein Problem mit Capistrano, da ich das Projekt auf einem Windows-Rechner und einem Mac eingerichtet habe und das cap-staging deploy auf einem ubuntu-Setup installiert habe.
Die SQL für die Abfrage, die erroring zu sein scheint ist:
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
..meaning, dass der Teil, der `` sphinx_deleted \
ist die select 0 wie bricht, die gut zu mir scheint (es funktioniert, wenn Rufen Sie es direkt durch mysql auf, minus dem Teil der where-Klausel, die $ start und $ end natürlich verwendet. Ich weiß also nicht, was den Fehler verursachen könnte. Mein einziger Gedanke ist, dass der Indexer von Sphinx fehlerhaft ist, aber wenn das der Fall ist, habe ich immer noch keine Idee, wie ich das lösen soll.
Vielen Dank im Voraus für jede Hilfe/Tipps.