summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mailman/database/alembic/versions/3e09bb4a5dc_member_indexes.py25
-rw-r--r--src/mailman/model/member.py4
2 files changed, 27 insertions, 2 deletions
diff --git a/src/mailman/database/alembic/versions/3e09bb4a5dc_member_indexes.py b/src/mailman/database/alembic/versions/3e09bb4a5dc_member_indexes.py
new file mode 100644
index 000000000..6c7778ec2
--- /dev/null
+++ b/src/mailman/database/alembic/versions/3e09bb4a5dc_member_indexes.py
@@ -0,0 +1,25 @@
+"""Add indexes on the Member table.
+
+Revision ID: 3e09bb4a5dc
+Revises: 33bc0099223
+Create Date: 2015-12-11 19:16:57.030395
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '3e09bb4a5dc'
+down_revision = '33bc0099223'
+
+from alembic import op
+
+
+def upgrade():
+ op.create_index(
+ op.f('ix_member_list_id'), 'member', ['list_id'], unique=False)
+ op.create_index(
+ op.f('ix_member_role'), 'member', ['role'], unique=False)
+
+
+def downgrade():
+ op.drop_index(op.f('ix_member_role'), table_name='member')
+ op.drop_index(op.f('ix_member_list_id'), table_name='member')
diff --git a/src/mailman/model/member.py b/src/mailman/model/member.py
index 5ea21cd83..d21943919 100644
--- a/src/mailman/model/member.py
+++ b/src/mailman/model/member.py
@@ -53,8 +53,8 @@ class Member(Model):
id = Column(Integer, primary_key=True)
_member_id = Column(UUID)
- role = Column(Enum(MemberRole))
- list_id = Column(Unicode)
+ role = Column(Enum(MemberRole), index=True)
+ list_id = Column(Unicode, index=True)
moderation_action = Column(Enum(Action))
address_id = Column(Integer, ForeignKey('address.id'), index=True)