ОТВЕТИЛ:
set_primary_key "QTLID" в модели, чтобы сообщить модели, что идентификатор pirmary не является идентификатором
Я получаю эту ошибку при рейке: ts index
Cannot automatically map attribute sphinx_internal_id in QtlTable 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
Я не могу понять, как это исправить.
Вот моя модель (обратите внимание, я не настраивал эту базу данных, поэтому не прыгайте на меня из-за ужасных соглашений):
class QtlTable < ActiveRecord::Base
...
define_index do
indexes :QTLID
has :QTLName
end
end
Вот как выглядит схема для qtl_table:
create_table "qtl_table", :primary_key => "QTLID", :force => true do |t|
t.string "QTLName", :limit => 60, :default => "", :null => false
t.string "Parent_1", :limit => 60, :default => "", :null => false
t.string "Parent_2", :limit => 60, :default => "", :null => false
t.string "Heritability", :limit => 60, :default => ""
t.text "Population_size", :limit => 16777215
t.string "Number_plants_bulked", :limit => 10
t.text "Pop_high_score", :limit => 16777215
t.text "Pop_low_score", :limit => 16777215
t.string "Loci_tested", :limit => 10, :default => ""
t.string "Intervals_associated", :limit => 10, :default => ""
t.string "Interval_length", :limit => 6, :default => ""
t.string "Interval_LOD_score", :limit => 12, :default => ""
t.string "Interval_P_value", :limit => 6, :default => ""
t.string "Interval_R2", :limit => 6, :default => ""
t.string "Genotypic_R2", :limit => 6, :default => ""
t.text "R2_Definition", :limit => 16777215
t.string "Percent_variation_explained", :limit => 6, :default => ""
t.string "First_entered", :limit => 60, :default => "", :null => false
t.string "Last_update", :limit => 60, :default => ""
t.string "TraitName", :limit => 100, :default => ""
t.binary "in_new", :limit => 1
end
add_index "qtl_table", ["QTLName"], :name => "QTLName_index"
add_index "qtl_table", ["TraitName"], :name => "TraitName_index"
ОТВЕТИЛ:
set_primary_key "QTLID" в модели, чтобы сообщить модели, что идентификатор pirmary не является ID