diff options
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.py | 31 |
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') |
