mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import django.db.models.deletion
 | 
						|
from django.db import migrations, models
 | 
						|
 | 
						|
 | 
						|
class Migration(migrations.Migration):
 | 
						|
    """
 | 
						|
    Tables cannot have data deleted from them and be altered in a single transaction,
 | 
						|
    but we need the DELETEs to be atomic together. So we set atomic=False for the migration
 | 
						|
    in general, and run the DELETEs in one transaction, and AlterField in another.
 | 
						|
    """
 | 
						|
    atomic = False
 | 
						|
 | 
						|
    dependencies = [
 | 
						|
        ('zerver', '0231_add_archive_transaction_model'),
 | 
						|
    ]
 | 
						|
 | 
						|
    operations = [
 | 
						|
        migrations.RunSQL("""
 | 
						|
        BEGIN;
 | 
						|
        DELETE FROM zerver_archivedusermessage;
 | 
						|
        DELETE FROM zerver_archivedreaction;
 | 
						|
        DELETE FROM zerver_archivedsubmessage;
 | 
						|
        DELETE FROM zerver_archivedattachment_messages;
 | 
						|
        DELETE FROM zerver_archivedattachment;
 | 
						|
        DELETE FROM zerver_archivedmessage;
 | 
						|
        DELETE FROM zerver_archivetransaction;
 | 
						|
        COMMIT;
 | 
						|
        """, elidable=True),
 | 
						|
        migrations.AlterField(
 | 
						|
            model_name='archivedmessage',
 | 
						|
            name='archive_transaction',
 | 
						|
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='zerver.ArchiveTransaction'),
 | 
						|
        ),
 | 
						|
    ]
 |