From 51c5d9e4e92195aeb080350698f87a082d69b1ed Mon Sep 17 00:00:00 2001 From: Silvie Chlupova Date: Aug 15 2019 11:24:25 +0000 Subject: Adding on delete cascade for table build Fixes: #822 --- diff --git a/frontend/coprs_frontend/alembic/schema/versions/3cba3ffe2836_on_delete_cascade_for_table_build.py b/frontend/coprs_frontend/alembic/schema/versions/3cba3ffe2836_on_delete_cascade_for_table_build.py new file mode 100644 index 0000000..8a4a346 --- /dev/null +++ b/frontend/coprs_frontend/alembic/schema/versions/3cba3ffe2836_on_delete_cascade_for_table_build.py @@ -0,0 +1,24 @@ +""" +on delete cascade for table build + +Revision ID: 3cba3ffe2836 +Revises: 55a07cb7bd68 +Create Date: 2019-08-05 10:36:41.354582 +""" + +import sqlalchemy as sa +from alembic import op + + +revision = '3cba3ffe2836' +down_revision = '55a07cb7bd68' + + +def upgrade(): + op.drop_constraint('build_chroot_build_id_fkey', 'build_chroot', type_='foreignkey') + op.create_foreign_key('build_chroot_build_id_fkey', 'build_chroot', 'build', ['build_id'], ['id'], ondelete='CASCADE') + + +def downgrade(): + op.drop_constraint('build_chroot_build_id_fkey', 'build_chroot', type_='foreignkey') + op.create_foreign_key('build_chroot_build_id_fkey', 'build_chroot', 'build', ['build_id'], ['id']) diff --git a/frontend/coprs_frontend/coprs/models.py b/frontend/coprs_frontend/coprs/models.py index d9dfbdf..94dedcb 100644 --- a/frontend/coprs_frontend/coprs/models.py +++ b/frontend/coprs_frontend/coprs/models.py @@ -1302,9 +1302,10 @@ class BuildChroot(db.Model, helpers.Serializer): mock_chroot_id = db.Column(db.Integer, db.ForeignKey("mock_chroot.id"), primary_key=True) mock_chroot = db.relationship("MockChroot", backref=db.backref("builds")) - build_id = db.Column(db.Integer, db.ForeignKey("build.id"), + build_id = db.Column(db.Integer, db.ForeignKey("build.id", ondelete="CASCADE"), primary_key=True) - build = db.relationship("Build", backref=db.backref("build_chroots")) + build = db.relationship("Build", backref=db.backref("build_chroots", cascade="all, delete-orphan", + passive_deletes=True)) git_hash = db.Column(db.String(40)) status = db.Column(db.Integer, default=StatusEnum("waiting"))