mirror of
https://github.com/ash-project/ash_hq.git
synced 2024-09-20 13:23:38 +12:00
29 lines
696 B
Elixir
29 lines
696 B
Elixir
defmodule AshHq.Repo.Migrations.AddTsvectorIndices do
|
|
use Ecto.Migration
|
|
|
|
@config %{
|
|
guides: {:name, :text},
|
|
library_versions: {:version, :doc},
|
|
options: {:name, :doc},
|
|
dsls: {:name, :doc},
|
|
extensions: {:name, :doc},
|
|
functions: {:name, :doc},
|
|
modules: {:name, :doc}
|
|
}
|
|
|
|
def change do
|
|
for {table, {header, text}} <- @config do
|
|
execute(
|
|
"""
|
|
CREATE INDEX #{table}_search_index ON #{table} USING GIN((
|
|
setweight(to_tsvector('english', #{header}), 'A') ||
|
|
setweight(to_tsvector('english', #{text}), 'D')
|
|
));
|
|
""",
|
|
"""
|
|
DROP INDEX #{table}_search_index
|
|
"""
|
|
)
|
|
end
|
|
end
|
|
end
|