Ruby Fuzzily关系“trigrams”不存在

时间:2015-08-30 21:17:10

标签: ruby-on-rails ruby rubygems

我正在尝试在我的rails应用程序中使用Ruby gem Fuzzily,但是我收到了这个错误

relation "trigrams" does not exist

我按照https://github.com/mezis/fuzzily

的所有说明操作

这是我的代码

trigram.rb

class Trigram < ActiveRecord::Base
  include Url::Model
  include Fuzzily::Model
end

url.rb

class Url < ActiveRecord::Base
    fuzzily_searchable :short_url
end

add_trigram_mode.rb

class AddTrigramsModel < ActiveRecord::Migration
  extend Url::Migration
  extend Fuzzily::Migration

  trigrams_owner_id_column_type = :uuid

end

我做了一个rake db:migrate。当我在rails控制台中执行它时,我得到:

    Url.find_by_fuzzy_short_url('sojdgl')

 Url Load (1.4ms)  SELECT  "urls".* FROM "urls"  ORDER BY "urls"."id" ASC LIMIT 100
PG::UndefinedTable: ERROR:  relation "trigrams" does not exist
LINE 5:                WHERE a.attrelid = '"trigrams"'::regclass
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"trigrams"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum

ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "trigrams" does not exist
LINE 5:                WHERE a.attrelid = '"trigrams"'::regclass

1 个答案:

答案 0 :(得分:0)

我错误地命名了迁移文件。当我将其更改为20150830110623_add_trigrams_model.rb时我工作