Fix user_portal delete cascade when deleting portals
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
"""Add cascade rules to UserPortal
|
||||||
|
|
||||||
|
Revision ID: 2228d49c383f
|
||||||
|
Revises: bcfefa1f1299
|
||||||
|
Create Date: 2018-05-31 11:11:59.482112
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
from sqlalchemy.dialects import postgresql
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '2228d49c383f'
|
||||||
|
down_revision = 'bcfefa1f1299'
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
op.drop_constraint('user_portal_user_fkey', 'user_portal', type_='foreignkey')
|
||||||
|
op.drop_constraint('user_portal_portal_fkey', 'user_portal', type_='foreignkey')
|
||||||
|
op.create_foreign_key('user_portal_user_fkey', 'user_portal', 'user', ['user'], ['tgid'], onupdate='CASCADE', ondelete='CASCADE')
|
||||||
|
op.create_foreign_key('user_portal_portal_fkey', 'user_portal', 'portal', ['portal', 'portal_receiver'], ['tgid', 'tg_receiver'], onupdate='CASCADE', ondelete='CASCADE')
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
op.drop_constraint('user_portal_portal_fkey', 'user_portal', type_='foreignkey')
|
||||||
|
op.drop_constraint('user_portal_user_fkey', 'user_portal', type_='foreignkey')
|
||||||
|
op.create_foreign_key('user_portal_portal_fkey', 'user_portal', 'portal', ['portal', 'portal_receiver'], ['tgid', 'tg_receiver'])
|
||||||
|
op.create_foreign_key('user_portal_user_fkey', 'user_portal', 'user', ['user'], ['tgid'])
|
||||||
@@ -57,12 +57,14 @@ class UserPortal(Base):
|
|||||||
query = None
|
query = None
|
||||||
__tablename__ = "user_portal"
|
__tablename__ = "user_portal"
|
||||||
|
|
||||||
user = Column(Integer, ForeignKey("user.tgid"), primary_key=True)
|
user = Column(Integer, ForeignKey("user.tgid", onupdate="CASCADE", ondelete="CASCADE"),
|
||||||
|
primary_key=True)
|
||||||
portal = Column(Integer, primary_key=True)
|
portal = Column(Integer, primary_key=True)
|
||||||
portal_receiver = Column(Integer, primary_key=True)
|
portal_receiver = Column(Integer, primary_key=True)
|
||||||
|
|
||||||
__table_args__ = (ForeignKeyConstraint(("portal", "portal_receiver"),
|
__table_args__ = (ForeignKeyConstraint(("portal", "portal_receiver"),
|
||||||
("portal.tgid", "portal.tg_receiver")),)
|
("portal.tgid", "portal.tg_receiver"),
|
||||||
|
onupdate="CASCADE", ondelete="CASCADE"),)
|
||||||
|
|
||||||
|
|
||||||
class User(Base):
|
class User(Base):
|
||||||
|
|||||||
Reference in New Issue
Block a user