diff --git a/app/models.py b/app/models.py index f1980d56..f4e936dc 100644 --- a/app/models.py +++ b/app/models.py @@ -915,7 +915,7 @@ class AccountActivation(db.Model, ModelMixin): db.ForeignKey(User.id, ondelete="cascade"), nullable=False, unique=True ) # the activation code is usually 6 digits - code = db.Column(db.String(10), unique=True, nullable=False) + code = db.Column(db.String(10), nullable=False) # nb tries decrements each time user enters wrong code tries = db.Column(db.Integer, default=3, nullable=False) diff --git a/migrations/versions/2020_022819_5f191273d067_.py b/migrations/versions/2020_022819_5f191273d067_.py new file mode 100644 index 00000000..d3da2281 --- /dev/null +++ b/migrations/versions/2020_022819_5f191273d067_.py @@ -0,0 +1,40 @@ +"""empty message + +Revision ID: 5f191273d067 +Revises: 75093e7ded27 +Create Date: 2020-02-28 19:08:15.570326 + +""" +import sqlalchemy_utils +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '5f191273d067' +down_revision = '75093e7ded27' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('account_activation', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('created_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=False), + sa.Column('updated_at', sqlalchemy_utils.types.arrow.ArrowType(), nullable=True), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('code', sa.String(length=10), nullable=False), + sa.Column('tries', sa.Integer(), nullable=False), + sa.CheckConstraint('tries >= 0', name='account_activation_tries_positive'), + sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='cascade'), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('user_id') + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('account_activation') + # ### end Alembic commands ###