From 8098642d4b244990cf1eb7e69aeada3455e4e852 Mon Sep 17 00:00:00 2001 From: Lephe Date: Mon, 25 Apr 2022 16:45:21 +0100 Subject: [PATCH] model: add an index on Post.type This is useful to quickly browse a list of polymorphic Posts for topics, programs, etc. The main application is from Member.posts, since polymorphic collection seems both difficult and edgy. [MIGRATION] This commit contains a new version of the schema. --- app/models/post.py | 2 +- .../d2227d2479e2_add_an_index_on_post_type.py | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 migrations/versions/d2227d2479e2_add_an_index_on_post_type.py diff --git a/app/models/post.py b/app/models/post.py index cac722d..85d2dea 100644 --- a/app/models/post.py +++ b/app/models/post.py @@ -10,7 +10,7 @@ class Post(db.Model): # Unique Post ID for the whole site id = db.Column(db.Integer, primary_key=True) # Post type (polymorphic discriminator) - type = db.Column(db.String(20)) + type = db.Column(db.String(20), index=True) # Creation and edition date date_created = db.Column(db.DateTime) diff --git a/migrations/versions/d2227d2479e2_add_an_index_on_post_type.py b/migrations/versions/d2227d2479e2_add_an_index_on_post_type.py new file mode 100644 index 0000000..e1839c3 --- /dev/null +++ b/migrations/versions/d2227d2479e2_add_an_index_on_post_type.py @@ -0,0 +1,28 @@ +"""Add an index on Post.type + +Revision ID: d2227d2479e2 +Revises: bcfdb271b88d +Create Date: 2022-04-25 16:44:51.241965 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'd2227d2479e2' +down_revision = 'bcfdb271b88d' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_post_type'), 'post', ['type'], unique=False) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_post_type'), table_name='post') + # ### end Alembic commands ###