Coverage for product_risk_suite/product/migrations/0006_productriskentry_svg_id.py: 71%

14 statements  

« prev     ^ index     » next       coverage.py v7.15.0, created at 2026-07-07 12:45 +0000

1# Generated by Django 6.0.5 on 2026-05-13 23:22 

2 

3from django.db import migrations, models 

4import json 

5 

6def migrate_push_pre_svg_ids(apps, schema_editor): 

7 ProductRiskEntry = apps.get_model('product', 'ProductRiskEntry') 

8 ThreatModelConnectionName = apps.get_model('threat_model', 'ThreatModelConnectionName') 

9 

10 pre_svg_id_map = json.load( open( "/tmp/svg-id-migration.json" ) ) 

11 for pre in ProductRiskEntry.objects.all(): 

12 for svg_id in pre_svg_id_map[str(pre.id)]: 

13 tmcn = ThreatModelConnectionName.objects.get(id = svg_id) 

14 pre.svg_id.add(tmcn) 

15 pre.save() 

16 

17class Migration(migrations.Migration): 

18 

19 dependencies = [ 

20 ('product', '0005_remove_productriskentry_svg_id'), 

21 ('threat_model', '0004_threatmodelconnectionname_primary_key'), 

22 ] 

23 

24 operations = [ 

25 migrations.AddField( 

26 model_name='productriskentry', 

27 name='svg_id', 

28 field=models.ManyToManyField(blank=True, to='threat_model.threatmodelconnectionname'), 

29 ), 

30 migrations.RunPython(migrate_push_pre_svg_ids), 

31 ]