Module: PgSearchScope::MigrationHelper

Defined in:
lib/pg_search_scope/migration_helper.rb

Instance Method Summary collapse

Instance Method Details

#add_fulltext_index(table_name, column_name, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/pg_search_scope/migration_helper.rb', line 3

def add_fulltext_index table_name, column_name, options = {}
  options[:language] ||= PgSearchScope::ModelHelper::DEFAULT_OPTIONS[:language]
  column_names = Array.wrap(column_name)
  index_name = options[:name].presence || index_name(table_name, :column => column_names) + '_ftx'
  execute("  CREATE INDEX \#{index_name} ON \#{table_name}\n  USING GIN(TO_TSVECTOR('\#{options[:language]}', \#{column_names.map { |name| \"COALESCE(\\\"\#{table_name}\\\".\\\"\#{name}\\\", '')\" }.join(\" || ' ' || \")}))\n  eosql\nend\n".strip)

#remove_fulltext_index(table_name, options = {}) ⇒ Object



13
14
15
16
17
18
# File 'lib/pg_search_scope/migration_helper.rb', line 13

def remove_fulltext_index table_name, options = {}
  index_name = index_name(table_name, options) + '_ftx'
  execute("  DROP INDEX IF EXISTS \#{index_name}\n  eosql\nend\n".strip)