diff --git a/app/models.py b/app/models.py index 4a4a1809..02d56ad7 100644 --- a/app/models.py +++ b/app/models.py @@ -621,3 +621,10 @@ class ApiKey(db.Model, ModelMixin): a = cls(user_id=user_id, code=code, name=name) db.session.add(a) return a + + +class CustomDomain(db.Model, ModelMixin): + user_id = db.Column(db.ForeignKey(User.id, ondelete="cascade"), nullable=False) + domain = db.Column(db.String(128), unique=True, nullable=False) + + verified = db.Column(db.Boolean, nullable=False, default=False) diff --git a/migrations/versions/a8d8aa307b8b_.py b/migrations/versions/a8d8aa307b8b_.py new file mode 100644 index 00000000..ea410470 --- /dev/null +++ b/migrations/versions/a8d8aa307b8b_.py @@ -0,0 +1,39 @@ +"""empty message + +Revision ID: a8d8aa307b8b +Revises: 3a87573bf8a8 +Create Date: 2019-11-29 23:39:14.352927 + +""" +import sqlalchemy_utils +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'a8d8aa307b8b' +down_revision = '3a87573bf8a8' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('custom_domain', + 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('domain', sa.String(length=128), nullable=False), + sa.Column('verified', sa.Boolean(), nullable=False), + sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='cascade'), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('domain') + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('custom_domain') + # ### end Alembic commands ###