set client.referral_id=None when a referral is deleted

This commit is contained in:
Son 2021-10-26 12:06:49 +02:00
parent b41b695228
commit 8aa7b1b773
2 changed files with 34 additions and 1 deletions

View File

@ -987,7 +987,9 @@ class Client(Base, ModelMixin):
# a referral can be attached to a client
# so all users who sign up via the authorize screen are counted towards this referral
referral_id = sa.Column(sa.ForeignKey("referral.id"), nullable=True)
referral_id = sa.Column(
sa.ForeignKey("referral.id", ondelete="SET NULL"), nullable=True
)
icon = orm.relationship(File)
user = orm.relationship(User)

View File

@ -0,0 +1,31 @@
"""empty message
Revision ID: bbedc353f90c
Revises: d67eab226ecd
Create Date: 2021-10-26 12:05:38.840492
"""
import sqlalchemy_utils
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = 'bbedc353f90c'
down_revision = 'd67eab226ecd'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint('client_referral_id_fkey', 'client', type_='foreignkey')
op.create_foreign_key(None, 'client', 'referral', ['referral_id'], ['id'], ondelete='SET NULL')
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, 'client', type_='foreignkey')
op.create_foreign_key('client_referral_id_fkey', 'client', 'referral', ['referral_id'], ['id'])
# ### end Alembic commands ###