~maas-committers/maas/trunk

« back to all changes in this revision

Viewing changes to src/maasserver/migrations/builtin/maasserver/0063_remove_orphaned_bmcs_and_ips.py

  • Committer: MAAS Lander
  • Author(s): Jeffrey C Jones
  • Date: 2016-06-04 02:17:13 UTC
  • mfrom: (5061.3.6 bmc-remove-fix-1586555)
  • Revision ID: maas_lander-20160604021713-3o30953rhbfi777r
[r=blake-rouse,trapnine,mpontillo][bug=1586555][author=trapnine] Deleting a Node will cascade delete any exclusively owned BMC.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
 
 
3
from django.db import migrations
 
4
 
 
5
# Copied from Node model.
 
6
def remove_orphaned_bmcs(apps, schema_editor):
 
7
    Node = apps.get_model("maasserver", "Node")
 
8
    BMC = apps.get_model("maasserver", "BMC")
 
9
    used_bmcs = Node.objects.values_list('bmc_id', flat=True).distinct()
 
10
    BMC.objects.exclude(id__in=used_bmcs).delete()
 
11
 
 
12
 
 
13
class Migration(migrations.Migration):
 
14
 
 
15
    dependencies = [
 
16
        ('maasserver', '0062_fix_bootsource_daily_label'),
 
17
    ]
 
18
 
 
19
    operations = [
 
20
        migrations.RunPython(remove_orphaned_bmcs),
 
21
    ]