aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--alembic/versions/408aac572bff_cascade_delete_channels_on_category_.py30
-rw-r--r--metricity/models.py2
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)