2016-08-27 2 views
0

Использование Rails 4, Thinking Sphinx 3.2.0. Недавно я переименовал столбец от for_search до address_lookup. Модель Shop имеет столбец address_lookup, и у меня есть Country, что связано с моделью Shop.Переименовать столбец, но ThinkingSphinx :: SphinxError: неизвестный столбец: 'shop_address_lookup'

Вот мой Country индекс:

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

Я удалил development.sphinx.conf и побежал ts:regenerate. Индексация Shop работало нормально, но при попытке индексировать Country, он продолжал бросать следующую ошибку:

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) 

Я только переименовал в колонку, и уже обновил свой индексный файл. Что я могу сделать, чтобы исправить это?

Примечание: Когда я переименую индекс от shop_address_lookup до shop_for_search, без изменения фактического имени столбца индекс работает нормально.

ответ

0

Удалось завершить работу - удалите db/sphinx/development/* перед запуском rake ts:regenerate.

Примечание для себя:

[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 
........