From 3b123eb7a865e6af87ba136d0dce229b57587945 Mon Sep 17 00:00:00 2001 From: Daniel Grams Date: Wed, 30 Dec 2020 17:44:08 +0100 Subject: [PATCH] DB Indizes --- migrations/versions/7b105c6e08bf_.py | 53 ++++++++++++++++++++++++++++ project/models.py | 4 +-- 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 migrations/versions/7b105c6e08bf_.py diff --git a/migrations/versions/7b105c6e08bf_.py b/migrations/versions/7b105c6e08bf_.py new file mode 100644 index 0000000..469c281 --- /dev/null +++ b/migrations/versions/7b105c6e08bf_.py @@ -0,0 +1,53 @@ +"""empty message + +Revision ID: 7b105c6e08bf +Revises: dddeceadde74 +Create Date: 2020-12-30 17:38:19.511314 + +""" +from alembic import op +import sqlalchemy as sa +import sqlalchemy_utils +from project import dbtypes + + +# revision identifiers, used by Alembic. +revision = "7b105c6e08bf" +down_revision = "dddeceadde74" +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f("ix_eventdate_end"), "eventdate", ["end"], unique=False) + op.create_index(op.f("ix_eventdate_start"), "eventdate", ["start"], unique=False) + # ### end Alembic commands ### + op.create_index( + "idx_event_name", + "event", + [sa.text("to_tsvector('english', name)")], + postgresql_using="gin", + ) + op.create_index( + "idx_event_description", + "event", + [sa.text("to_tsvector('english', description)")], + postgresql_using="gin", + ) + op.create_index( + "idx_event_tags", + "event", + [sa.text("to_tsvector('english', tags)")], + postgresql_using="gin", + ) + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f("ix_eventdate_start"), table_name="eventdate") + op.drop_index(op.f("ix_eventdate_end"), table_name="eventdate") + # ### end Alembic commands ### + op.drop_index("idx_event_name") + op.drop_index("idx_event_description") + op.drop_index("idx_event_tags") diff --git a/project/models.py b/project/models.py index 39624e6..9e8674f 100644 --- a/project/models.py +++ b/project/models.py @@ -500,8 +500,8 @@ class EventDate(db.Model): __tablename__ = "eventdate" id = Column(Integer(), primary_key=True) event_id = db.Column(db.Integer, db.ForeignKey("event.id"), nullable=False) - start = db.Column(db.DateTime(timezone=True), nullable=False) - end = db.Column(db.DateTime(timezone=True), nullable=True) + start = db.Column(db.DateTime(timezone=True), nullable=False, index=True) + end = db.Column(db.DateTime(timezone=True), nullable=True, index=True) class EventEventCategories(db.Model):