Missing migration
* adds a migration which has not been checked in from another branch
This commit is contained in:
		
							parent
							
								
									2339fcebd1
								
							
						
					
					
						commit
						31f4369236
					
				
							
								
								
									
										46
									
								
								compensation/migrations/0005_auto_20220218_0917.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								compensation/migrations/0005_auto_20220218_0917.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
			
		||||
# Generated by Django 3.1.3 on 2022-02-18 08:17
 | 
			
		||||
 | 
			
		||||
from django.db import migrations, models, transaction
 | 
			
		||||
import django.db.models.deletion
 | 
			
		||||
 | 
			
		||||
from codelist.settings import CODELIST_BIOTOPES_ID, CODELIST_AFTER_STATE_BIOTOPES__ID
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def migrate_entries_974_to_654(apps, schema_editor):
 | 
			
		||||
    CompensationState = apps.get_model("compensation", "CompensationState")
 | 
			
		||||
    KonovaCode = apps.get_model("codelist", "KonovaCode")
 | 
			
		||||
    all_states = CompensationState.objects.all()
 | 
			
		||||
 | 
			
		||||
    with transaction.atomic():
 | 
			
		||||
        for state in all_states:
 | 
			
		||||
            code_from_654 = KonovaCode.objects.get(
 | 
			
		||||
                short_name=state.biotope_type.short_name,
 | 
			
		||||
                code_lists__in=[CODELIST_BIOTOPES_ID],
 | 
			
		||||
                is_archived=False,
 | 
			
		||||
                is_leaf=True,
 | 
			
		||||
            )
 | 
			
		||||
            state.biotope_type = code_from_654
 | 
			
		||||
            state.save()
 | 
			
		||||
 | 
			
		||||
    old_list_states = CompensationState.objects.filter(
 | 
			
		||||
        biotope_type__code_lists__in=[CODELIST_AFTER_STATE_BIOTOPES__ID]
 | 
			
		||||
    )
 | 
			
		||||
    if old_list_states.count() > 0:
 | 
			
		||||
        raise Exception("Still unmigrated values!")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Migration(migrations.Migration):
 | 
			
		||||
 | 
			
		||||
    dependencies = [
 | 
			
		||||
        ('codelist', '0001_initial'),
 | 
			
		||||
        ('compensation', '0004_auto_20220210_1402'),
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    operations = [
 | 
			
		||||
        migrations.RunPython(migrate_entries_974_to_654),
 | 
			
		||||
        migrations.AlterField(
 | 
			
		||||
            model_name='compensationstate',
 | 
			
		||||
            name='biotope_type',
 | 
			
		||||
            field=models.ForeignKey(blank=True, limit_choices_to={'code_lists__in': [654], 'is_archived': False, 'is_selectable': True}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='codelist.konovacode'),
 | 
			
		||||
        ),
 | 
			
		||||
    ]
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user