redash/migrations/versions/6b5be7e0a0ef_.py

49 lines
1.2 KiB
Python
Raw Normal View History

"""Re-index Query.search_vector with existing queries.
Revision ID: 6b5be7e0a0ef
Revises: 5ec5c84ba61e
Create Date: 2017-11-02 20:42:13.356360
"""
from alembic import op
import sqlalchemy as sa
import sqlalchemy_searchable as ss
# revision identifiers, used by Alembic.
revision = '6b5be7e0a0ef'
down_revision = '5ec5c84ba61e'
branch_labels = None
depends_on = None
def upgrade():
ss.vectorizer.clear()
conn = op.get_bind()
metadata = sa.MetaData(bind=conn)
queries = sa.Table('queries', metadata, autoload=True)
@ss.vectorizer(queries.c.id)
def integer_vectorizer(column):
return sa.func.cast(column, sa.Text)
ss.sync_trigger(
conn,
'queries',
'search_vector',
['id', 'name', 'description', 'query'],
metadata=metadata
)
def downgrade():
conn = op.get_bind()
ss.drop_trigger(conn, 'queries', 'search_vector')
op.drop_index('ix_queries_search_vector', table_name='queries')
op.create_index('ix_queries_search_vector', 'queries', ['search_vector'],
unique=False, postgresql_using='gin')
ss.sync_trigger(conn, 'queries', 'search_vector',
['name', 'description', 'query'])