2011-08-05 6 views
0

は生憎スフィンクスは、単にThinkingSphinx、

class Place << ActiveRecord::Base 
#... relations 

define_index 
    #... 
    has breakfast_start, :as => breakfast_start 
end 

rake ts:rebuild属性するtimeフィールドを変換することはできません考える `time`属性を設定すると問題:has "CAST(column AS INT)", :type => :integer, :as => :column構文に変更

rake aborted! 

Cannot automatically map attribute breakfast_start in Place to an 
equivalent Sphinx type (integer, float, boolean, datetime, string as ordinal). 
You could try to explicitly convert the column's value in your define_index 
block: 
    has "CAST(column AS INT)", :type => :integer, :as => :column 

(See full trace by running task with --trace) 

もあることを修正しません:

ERROR: index 'place_core': sql_range_query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INT) AS `breakfast_start` FROM `places` 

誰でも知っているそれを修正する? ありがとうございます。

答えて

2

私はTSから悪い例だと思う - UNSIGNED INTの代わりINTを試してみてください。

+0

うわー。非常に速い応答。そしてそれは動作します!あなたはロック! :D –

1

だけ余分に考えました。データベースにインデックスを作成しようとしている列があるかどうかをチェックすることもできます。列が存在しない場合は、同じエラーがスローされ、エラーメッセージがわずかに不自然になります。

実行すくいデシベル:私はテストのために開発にPRODのコピーをロードし、思考スフィンクスデルタ列のどれもが、このデータベースのコピーではなかったとして、このすべてを固定移行します。これは同様の問題を発見し、誰に役立ちます

希望。

関連する問題