From 229d2c644bef2cf2cf5dcfa56df9d7e2a73bac0b Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Mon, 10 May 2021 13:03:19 +0200 Subject: [PATCH] Add Payout model --- app/models.py | 17 ++++++++ .../versions/2021_051013_5c77d685df87_.py | 40 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 migrations/versions/2021_051013_5c77d685df87_.py diff --git a/app/models.py b/app/models.py index 261db75f..868466c3 100644 --- a/app/models.py +++ b/app/models.py @@ -2223,3 +2223,20 @@ class TransactionalEmail(db.Model, ModelMixin): """ email = db.Column(db.String(256), nullable=False, unique=True) + + +class Payout(db.Model, ModelMixin): + """Referral payouts""" + + user_id = db.Column(db.ForeignKey("users.id", ondelete="cascade"), nullable=False) + + # in USD + amount = db.Column(db.Float, nullable=False) + + # BTC, PayPal, etc + payment_method = db.Column(db.String(256), nullable=False) + + # number of upgraded user included in this payout + number_upgraded_account = db.Column(db.Integer, nullable=False) + + comment = db.Column(db.Text) diff --git a/migrations/versions/2021_051013_5c77d685df87_.py b/migrations/versions/2021_051013_5c77d685df87_.py new file mode 100644 index 00000000..7b1d59e7 --- /dev/null +++ b/migrations/versions/2021_051013_5c77d685df87_.py @@ -0,0 +1,40 @@ +"""empty message + +Revision ID: 5c77d685df87 +Revises: f5133dc851ee +Create Date: 2021-05-10 13:02:39.430387 + +""" +import sqlalchemy_utils +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '5c77d685df87' +down_revision = 'f5133dc851ee' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('payout', + 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('amount', sa.Float(), nullable=False), + sa.Column('payment_method', sa.String(length=256), nullable=False), + sa.Column('number_upgraded_account', sa.Integer(), nullable=False), + sa.Column('comment', sa.Text(), nullable=True), + sa.ForeignKeyConstraint(['user_id'], ['users.id'], ondelete='cascade'), + sa.PrimaryKeyConstraint('id') + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('payout') + # ### end Alembic commands ###