summaryrefslogtreecommitdiff
path: root/src/mailman/database/alembic/versions/33bc0099223_add_member_indexes.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/database/alembic/versions/33bc0099223_add_member_indexes.py')
-rw-r--r--src/mailman/database/alembic/versions/33bc0099223_add_member_indexes.py31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/mailman/database/alembic/versions/33bc0099223_add_member_indexes.py b/src/mailman/database/alembic/versions/33bc0099223_add_member_indexes.py
index ce8f2f3f1..5f01f4a66 100644
--- a/src/mailman/database/alembic/versions/33bc0099223_add_member_indexes.py
+++ b/src/mailman/database/alembic/versions/33bc0099223_add_member_indexes.py
@@ -7,6 +7,7 @@ Create Date: 2015-11-19 23:04:42.449553
"""
from alembic import op
+from mailman.database.helpers import is_mysql
# Revision identifiers, used by Alembic.
@@ -15,22 +16,28 @@ down_revision = '42756496720'
def upgrade():
- op.create_index(op.f('ix_member_address_id'),
- 'member', ['address_id'],
- unique=False)
- op.create_index(op.f('ix_member_preferences_id'),
- 'member', ['preferences_id'],
- unique=False)
- op.create_index(op.f('ix_member_user_id'),
- 'member', ['user_id'],
- unique=False)
op.create_index(op.f('ix_address_email'),
'address', ['email'],
unique=False)
+ # MySQL automatically creates the indexes for primary keys so don't need
+ # to do it explicitly again.
+ if not is_mysql(op.get_bind()):
+ op.create_index(op.f('ix_member_address_id'),
+ 'member', ['address_id'],
+ unique=False)
+ op.create_index(op.f('ix_member_preferences_id'),
+ 'member', ['preferences_id'],
+ unique=False)
+ op.create_index(op.f('ix_member_user_id'),
+ 'member', ['user_id'],
+ unique=False)
def downgrade():
op.drop_index(op.f('ix_address_email'), table_name='address')
- op.drop_index(op.f('ix_member_user_id'), table_name='member')
- op.drop_index(op.f('ix_member_preferences_id'), table_name='member')
- op.drop_index(op.f('ix_member_address_id'), table_name='member')
+ # MySQL automatically creates and removes the indexes for primary keys.
+ # So, you cannot drop it without removing the foreign key constraint.
+ if not is_mysql(op.get_bind()):
+ op.drop_index(op.f('ix_member_user_id'), table_name='member')
+ op.drop_index(op.f('ix_member_preferences_id'), table_name='member')
+ op.drop_index(op.f('ix_member_address_id'), table_name='member')