diff options
-rw-r--r-- | alembic/versions/408aac572bff_cascade_delete_channels_on_category_.py | 30 | ||||
-rw-r--r-- | metricity/models.py | 2 |
2 files changed, 31 insertions, 1 deletions
diff --git a/alembic/versions/408aac572bff_cascade_delete_channels_on_category_.py b/alembic/versions/408aac572bff_cascade_delete_channels_on_category_.py new file mode 100644 index 0000000..4afbba7 --- /dev/null +++ b/alembic/versions/408aac572bff_cascade_delete_channels_on_category_.py @@ -0,0 +1,30 @@ +"""cascade delete channels on category deletion + +Revision ID: 408aac572bff +Revises: 25f3b8fb9961 +Create Date: 2021-03-04 01:11:32.519071 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '408aac572bff' +down_revision = '25f3b8fb9961' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_constraint('channels_category_id_fkey', 'channels', type_='foreignkey') + op.create_foreign_key(None, 'channels', 'categories', ['category_id'], ['id'], ondelete='CASCADE') + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_constraint(None, 'channels', type_='foreignkey') + op.create_foreign_key('channels_category_id_fkey', 'channels', 'categories', ['category_id'], ['id']) + # ### end Alembic commands ### diff --git a/metricity/models.py b/metricity/models.py index 046198c..6a78b0e 100644 --- a/metricity/models.py +++ b/metricity/models.py @@ -26,7 +26,7 @@ class Channel(db.Model): name = db.Column(db.String, nullable=False) category_id = db.Column( db.String, - db.ForeignKey("categories.id"), + db.ForeignKey("categories.id", ondelete="CASCADE"), nullable=True ) is_staff = db.Column(db.Boolean, nullable=False) |