23 lines
639 B
Python
23 lines
639 B
Python
from django.db import migrations, models
|
|
|
|
|
|
def raise_error(apps, schema_editor):
|
|
# Test atomic operation in non-atomic migration is wrapped in transaction
|
|
Editor = apps.get_model('migrations', 'Editor')
|
|
Editor.objects.create(name='Test Editor')
|
|
raise RuntimeError('Abort migration')
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
atomic = False
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
"Editor",
|
|
[
|
|
("name", models.CharField(primary_key=True, max_length=255)),
|
|
],
|
|
),
|
|
migrations.RunPython(raise_error, reverse_code=raise_error, atomic=True),
|
|
]
|