Coverage for product_risk_suite/product/migrations/0005_remove_productriskentry_svg_id.py: 67%

15 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:16 

2 

3from django.db import migrations 

4import json 

5 

6def migrate_pop_pre_svg_ids(apps, schema_editor): 

7 pre_svg_id_map = {} 

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

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

10 pre_svg_id_map[pre.id] = [] 

11 for svg_id in pre.svg_id.all(): 

12 pre_svg_id_map[pre.id].append(svg_id.id) 

13 pre.svg_id.clear() 

14 pre.save() 

15 json.dump( pre_svg_id_map, open( "/tmp/svg-id-migration.json", 'w' ) ) 

16 

17class Migration(migrations.Migration): 

18 

19 dependencies = [ 

20 ('product', '0004_alter_product_options'), 

21 ('threat_model', '0003_threatmodelconnectionname_id'), 

22 ] 

23 

24 operations = [ 

25 migrations.RunPython(migrate_pop_pre_svg_ids), 

26 migrations.RemoveField( 

27 model_name='productriskentry', 

28 name='svg_id', 

29 ), 

30 ]