#903 Adding on delete cascade for table build
Merged 5 years ago by praiskup. Opened 5 years ago by schlupov.
copr/ schlupov/copr traceback_on_build_delete  into  master

Removing manual chroots delete
Silvie Chlupova • 5 years ago  
Adding on delete cascade for table build
Silvie Chlupova • 5 years ago  
@@ -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'])

@@ -1055,9 +1055,6 @@ 

          if send_delete_action:

              ActionsLogic.send_delete_build(build)

  

-         for build_chroot in build.build_chroots:

-             db.session.delete(build_chroot)

- 

          db.session.delete(build)

  

      @classmethod

@@ -1302,9 +1302,10 @@ 

      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"))

  

rebased onto 34ae5d05777d9d45eed23a07bc9d06ebaceba15e

5 years ago

rebased onto c6fdcadc44a6cb086b6d5744a2ce9b96cb94f3a5

5 years ago

ah, -1 for now .... we should fix delete_build function (and others, if there are some related functions).

Metadata Update from @praiskup:
- Pull-request tagged with: needs-work

5 years ago

rebased onto 34ae5d05777d9d45eed23a07bc9d06ebaceba15e

5 years ago

Metadata Update from @praiskup:
- Pull-request untagged with: needs-work

5 years ago

rebased onto 51c5d9e

5 years ago

Pull-Request has been merged by praiskup

5 years ago