Skip to content
This repository has been archived by the owner on Jul 24, 2018. It is now read-only.

Commit

Permalink
Merge pull request #25 from fedora-infra/feature/cascade-removed-rules
Browse files Browse the repository at this point in the history
Cascade removed rules to their filters.
  • Loading branch information
ralphbean committed Jan 12, 2015
2 parents 89c2ff8 + 6a7a525 commit 72d284e
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions alembic/versions/3de9ad66862f_cascade_removed_rules_to_filters.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
"""Cascade removed rules to filters
Revision ID: 3de9ad66862f
Revises: 2136a1f22f1f
Create Date: 2015-01-12 15:47:02.778152
"""

# revision identifiers, used by Alembic.
revision = '3de9ad66862f'
down_revision = '2136a1f22f1f'

from alembic import op
import sqlalchemy as sa

import fmn.lib


def upgrade():
engine = op.get_bind().engine
session = sa.orm.scoped_session(sa.orm.sessionmaker(bind=engine))

# In alembic revision '2136a1f22f1f' these filters has the rules attached
# that were removed. The filters need to be removed too.
goners = [
'Users removed from packages I own',
'New branches for packages I own',
'Retirement of packages I own',
]

for name in goners:
filters = session.query(fmn.lib.models.Filter)\
.filter_by(name=name).all()
for fltr in filters:
while fltr.rules:
rule = fltr.rules.pop()
print "* Deleting rule %r." % rule
session.delete(rule)
print "Deleting filter %r." % fltr
session.delete(fltr)


def downgrade():
pass

0 comments on commit 72d284e

Please sign in to comment.