diff --git a/app/models.py b/app/models.py index 0a9ce9e6..374ae19c 100644 --- a/app/models.py +++ b/app/models.py @@ -1047,10 +1047,10 @@ class Alias(db.Model, ModelMixin): user_id = db.Column( db.ForeignKey(User.id, ondelete="cascade"), nullable=False, index=True ) - email = db.Column(db.String(128), unique=True, nullable=False) + email = db.Column(db.String(128), unique=True, nullable=False, index=True) # the name to use when user replies/sends from alias - name = db.Column(db.String(128), nullable=True, default=None) + name = db.Column(db.String(128), nullable=True, default=None, index=True) enabled = db.Column(db.Boolean(), default=True, nullable=False) @@ -1070,7 +1070,7 @@ class Alias(db.Model, ModelMixin): db.ForeignKey("directory.id", ondelete="cascade"), nullable=True ) - note = db.Column(db.Text, default=None, nullable=True) + note = db.Column(db.Text, default=None, nullable=True, index=True) # an alias can be owned by another mailbox mailbox_id = db.Column( diff --git a/migrations/versions/2021_080319_62727e7cde50_.py b/migrations/versions/2021_080319_62727e7cde50_.py new file mode 100644 index 00000000..7cf959fd --- /dev/null +++ b/migrations/versions/2021_080319_62727e7cde50_.py @@ -0,0 +1,35 @@ +"""empty message + +Revision ID: 62727e7cde50 +Revises: ffa75d04e6ef +Create Date: 2021-08-03 19:12:31.500066 + +""" +import sqlalchemy_utils +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '62727e7cde50' +down_revision = 'ffa75d04e6ef' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_alias_email'), 'alias', ['email'], unique=True) + op.create_index(op.f('ix_alias_name'), 'alias', ['name'], unique=False) + op.create_index(op.f('ix_alias_note'), 'alias', ['note'], unique=False) + op.drop_constraint('gen_email_email_key', 'alias', type_='unique') + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_unique_constraint('gen_email_email_key', 'alias', ['email']) + op.drop_index(op.f('ix_alias_note'), table_name='alias') + op.drop_index(op.f('ix_alias_name'), table_name='alias') + op.drop_index(op.f('ix_alias_email'), table_name='alias') + # ### end Alembic commands ###