2016-08-27 7 views
0

Verwenden von Rails 4, Thinking Sphinx 3.2.0. Kürzlich habe ich eine Spalte von for_search zu address_lookup umbenannt. Das Shop Modell hat die Spalte address_lookup, und ich habe Country, die Shop Modell zugeordnet ist.Spalte umbenennen, aber ThinkingSphinx :: SphinxError: Unbekannte Spalte: 'shop_address_lookup'

Hier ist mein Country Index:

ThinkingSphinx::Index.define :state, with: :real_time do 
    indexes name 
    indexes shop_address_lookup 
    ... 
end 

Ich entfernte die development.sphinx.conf und lief ts:regenerate. Indexing Shop funktionierte gut, aber wenn es um Index versucht Country, es hielt den folgenden Fehler zu werfen:

Generating index files for country_core 
rake aborted! 
ThinkingSphinx::SphinxError: unknown column: 'shop_address_lookup' - REPLACE INTO country_core (id, `sphinx_internal_class_name`, `name`, `country_status`, `shop_address_lookup` 
... 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `load' 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>' 
Innertube::Pool::BadResource: Innertube::Pool::BadResource 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `load' 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>' 
ThinkingSphinx::QueryExecutionError: unknown column: 'shop_address_lookup' 
... 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `load' 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>' 
Mysql2::Error: unknown column: 'shop_address_lookup' 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `load' 
/Users/abc/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>' 
Tasks: TOP => ts:regenerate => ts:generate 
(See full trace by running task with --trace) 

ich nur die Spalte umbenannt, und bereits meine Index-Datei aktualisiert. Was kann ich tun, um das zu beheben?

Hinweis: Wenn ich den Index von shop_address_lookup wieder zu shop_for_search umbenennen, ohne den tatsächlichen Spaltennamen zu ändern, funktioniert der Index gut.

Antwort

0

Verwaltet, um dies endlich zum Laufen zu bringen - entfernen Sie db/sphinx/development/* bevor Sie rake ts:regenerate ausführen.

Hinweis zur Selbsthilfe:

[email protected] ~/Sites/xyz (master●●)$ rake ts:regenerate 
Stopped searchd daemon (pid: 65211). 
Generating configuration to /Users/abc/Sites/xyz/config/development.sphinx.conf 
Failed to start searchd daemon. Check /Users/abc/Sites/xyz/log/development.searchd.log. 
Failed to start searchd. Check the log files for more information. 
Generating index files for spot_core 
^C%                                                          [email protected] ~/Sites/xyz (master●●)$ ps aux | grep searcd 
abc  65649 0.0 0.0 2423380 300 s001 R+ 2:10AM 0:00.00 grep --color=auto searcd 
[email protected] ~/Sites/xyz (master●●)$ ps aux | grep searchd 
abc  65727 0.0 0.0 2435864 788 s001 R+ 2:10AM 0:00.00 grep --color=auto searchd 
========== REMOVE db/sphinx/development/* at this step ============ 
[email protected] ~/Sites/xyz (master●●)$ rake ts:regenerate 
searchd is not currently running. 
Stopped searchd daemon (pid:). 
Generating configuration to /Users/abc/Sites/xyz/config/development.sphinx.conf 
Started searchd successfully (pid: 65936). 
Generating index files for shop_core 
.......................... 
Generating index files for trip_core 
........