我目前正在尝试在我的多租户Rails 4应用程序中使用searchkick,该应用程序使用Apartment和pgSQL架构来处理租赁。但是,我无法让searchkick工作。我不确定我做错了什么,但我想可能是当我重新索引时,它只能重新索引一个模式。
我在想我需要遍历每个架构,但我不确定如何在Apartment中执行此操作。他们似乎自动进行迁移,但我试图让它与searchkick一起使用。我想从searchkick编辑下面的rake任务:
require 'rake'
namespace :searchkick do
task :reindex => :environment do
if ENV["CLASS"]
klass = ENV["CLASS"].constantize rescue nil
if klass
klass.reindex
else
abort "Could not find class: #{ENV["CLASS"]}"
end
else
abort "USAGE: rake searchkick:reindex CLASS=Product"
end
end
end
如果您有任何建议,请告诉我
答案 0 :(得分:0)
我能够弄清楚。我必须执行以下操作并将Apartment任务添加到此处:
require 'rake'
require 'apartment/migrator'
namespace :searchkick do
task :reindex => :environment do
tenants.each do |tenant|
Apartment::Tenant.switch(tenant)
p 'switched'
if ENV["CLASS"]
klass = ENV["CLASS"].constantize rescue nil
if klass
klass.reindex
else
abort "Could not find class: #{ENV["CLASS"]}"
end
else
abort "USAGE: rake searchkick:reindex CLASS=Product"
end
end
end
end