mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	import script: re_map Recipient foreign keys.
This commit is contained in:
		@@ -1220,6 +1220,7 @@ id_maps = {
 | 
			
		||||
    'user_profile': {},
 | 
			
		||||
    'realm': {},
 | 
			
		||||
    'stream': {},
 | 
			
		||||
    'recipient': {},
 | 
			
		||||
}  # type: Dict[str, Dict[int, int]]
 | 
			
		||||
 | 
			
		||||
def update_id_map(table: TableName, old_id: int, new_id: int) -> None:
 | 
			
		||||
@@ -1559,9 +1560,15 @@ def do_import_realm(import_dir: Path) -> Realm:
 | 
			
		||||
                        recipient_field=True, id_field=True)
 | 
			
		||||
    re_map_foreign_keys(data['zerver_recipient'], 'type_id', related_table="user_profile",
 | 
			
		||||
                        recipient_field=True, id_field=True)
 | 
			
		||||
    recipient_id_list = current_table_ids(data, 'zerver_recipient')
 | 
			
		||||
    allocated_recipient_id_list = allocate_ids(Recipient, len(data['zerver_recipient']))
 | 
			
		||||
    for item in range(len(data['zerver_recipient'])):
 | 
			
		||||
        update_id_map('recipient', recipient_id_list[item], allocated_recipient_id_list[item])
 | 
			
		||||
    re_map_foreign_keys(data['zerver_recipient'], 'id', related_table="recipient", id_field=True)
 | 
			
		||||
    bulk_import_model(data, Recipient, 'zerver_recipient')
 | 
			
		||||
 | 
			
		||||
    re_map_foreign_keys(data['zerver_subscription'], 'user_profile', related_table="user_profile")
 | 
			
		||||
    convert_to_id_fields(data, 'zerver_subscription', 'recipient')
 | 
			
		||||
    re_map_foreign_keys(data['zerver_subscription'], 'recipient', related_table="recipient")
 | 
			
		||||
    bulk_import_model(data, Subscription, 'zerver_subscription')
 | 
			
		||||
 | 
			
		||||
    fix_datetime_fields(data, 'zerver_userpresence')
 | 
			
		||||
@@ -1630,7 +1637,7 @@ def import_message_data(import_dir: Path) -> None:
 | 
			
		||||
 | 
			
		||||
        logging.info("Importing message dump %s" % (message_filename,))
 | 
			
		||||
        re_map_foreign_keys(data['zerver_message'], 'sender', related_table="user_profile")
 | 
			
		||||
        convert_to_id_fields(data, 'zerver_message', 'recipient')
 | 
			
		||||
        re_map_foreign_keys(data['zerver_message'], 'recipient', related_table="recipient")
 | 
			
		||||
        re_map_foreign_keys(data['zerver_message'], 'sending_client', related_table='client')
 | 
			
		||||
        fix_datetime_fields(data, 'zerver_message')
 | 
			
		||||
        bulk_import_model(data, Message, 'zerver_message')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user