瀏覽代碼

add DeletedAlias model

Son NK 5 年之前
父節點
當前提交
5c119a933d
共有 2 個文件被更改,包括 48 次插入0 次删除
  1. 9 0
      app/models.py
  2. 39 0
      migrations/versions/d68a2d971b70_.py

+ 9 - 0
app/models.py

@@ -552,3 +552,12 @@ class Subscription(db.Model, ModelMixin):
     )
 
     user = db.relationship(User)
+
+
+class DeletedAlias(db.Model, ModelMixin):
+    """Store all deleted alias to make sure they are NOT reused"""
+
+    user_id = db.Column(
+        db.ForeignKey(User.id, ondelete="cascade"), nullable=False, unique=True
+    )
+    email = db.Column(db.String(128), unique=True, nullable=False)

+ 39 - 0
migrations/versions/d68a2d971b70_.py

@@ -0,0 +1,39 @@
+"""empty message
+
+Revision ID: d68a2d971b70
+Revises: 6bbda4685999
+Create Date: 2019-11-18 15:08:33.631447
+
+"""
+import sqlalchemy_utils
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'd68a2d971b70'
+down_revision = '6bbda4685999'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.create_table('deleted_alias',
+    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('email', sa.String(length=128), nullable=False),
+    sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='cascade'),
+    sa.PrimaryKeyConstraint('id'),
+    sa.UniqueConstraint('email'),
+    sa.UniqueConstraint('user_id')
+    )
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.drop_table('deleted_alias')
+    # ### end Alembic commands ###