Reorder items to delete so that join models are deleted before the models they join

Add application invitations to list of items to be deleted
Clean up reference to workspace
This commit is contained in:
leigh-mil 2019-05-22 19:37:48 -04:00
parent da6ac57812
commit 9412ccffea

View File

@ -63,18 +63,23 @@ def remove_sample_data(all_users=False):
all_portfolios = Portfolios.for_user(user)
portfolios = [p for p in all_portfolios if p.owner == user]
ws_audit = (
portfolio_audit = (
db.session.query(AuditEvent)
.filter(AuditEvent.portfolio_id.in_([w.id for w in portfolios]))
.all()
)
portfolio_roles = [role for portfolio in portfolios for role in portfolio.roles]
task_orders = [to for portfolio in portfolios for to in portfolio.task_orders]
invites = [invite for role in portfolio_roles for invite in role.invitations]
portfolio_invites = [
invite for role in portfolio_roles for invite in role.invitations
]
applications = [p for portfolio in portfolios for p in portfolio.applications]
application_roles = [
a for application in applications for a in application.roles
]
application_invites = [
invite for role in application_roles for invite in role.invitations
]
environments = (
db.session.query(Environment)
.filter(Environment.application_id.in_([p.id for p in applications]))
@ -83,14 +88,15 @@ def remove_sample_data(all_users=False):
roles = [role for env in environments for role in env.roles]
for set_of_things in [
portfolio_invites,
application_invites,
roles,
environments,
application_roles,
applications,
environments,
invites,
portfolio_roles,
roles,
task_orders,
ws_audit,
portfolio_audit,
]:
for thing in set_of_things:
db.session.delete(thing)