Module: PgSearchScope::MigrationHelper
- Defined in:
- lib/pg_search_scope/migration_helper.rb
Instance Method Summary collapse
- #add_fulltext_index(table_name, column_name, options = {}) ⇒ Object
- #remove_fulltext_index(table_name, options = {}) ⇒ Object
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, = {} [:language] ||= PgSearchScope::ModelHelper::DEFAULT_OPTIONS[:language] column_names = Array.wrap(column_name) index_name = [: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, = {} index_name = index_name(table_name, ) + '_ftx' execute(" DROP INDEX IF EXISTS \#{index_name}\n eosql\nend\n".strip) |