35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Generated by Django 3.1.2 on 2020-10-17 14:26
 | |
| 
 | |
| from django.apps.registry import Apps
 | |
| from django.db import migrations
 | |
| from django.db.backends.base.schema import BaseDatabaseSchemaEditor
 | |
| 
 | |
| 
 | |
| def fix_missing_token_identifier(apps: Apps, schema_editor: BaseDatabaseSchemaEditor):
 | |
|     User = apps.get_model("passbook_core", "User")
 | |
|     Token = apps.get_model("passbook_core", "Token")
 | |
|     from passbook.outposts.models import Outpost
 | |
| 
 | |
|     for outpost in (
 | |
|         Outpost.objects.using(schema_editor.connection.alias).all().only("pk")
 | |
|     ):
 | |
|         user_identifier = outpost.user_identifier
 | |
|         user = User.objects.get(username=user_identifier)
 | |
|         tokens = Token.objects.filter(user=user)
 | |
|         for token in tokens:
 | |
|             if token.identifier != outpost.token_identifier:
 | |
|                 token.identifier = outpost.token_identifier
 | |
|                 token.save()
 | |
| 
 | |
| 
 | |
| class Migration(migrations.Migration):
 | |
| 
 | |
|     dependencies = [
 | |
|         ("passbook_core", "0014_auto_20201018_1158"),
 | |
|         ("passbook_outposts", "0008_auto_20201014_1547"),
 | |
|     ]
 | |
| 
 | |
|     operations = [
 | |
|         migrations.RunPython(fix_missing_token_identifier),
 | |
|     ]
 | 
