1
0
mirror of https://github.com/django/django.git synced 2024-12-29 12:36:08 +00:00
django/tests/migrations/test_migrations_non_atomic/0001_initial.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
990 B
Python
Raw Normal View History

from django.db import migrations, models
def raise_error(apps, schema_editor):
# Test operation in non-atomic migration is not wrapped in transaction
Publisher = apps.get_model("migrations", "Publisher")
Publisher.objects.create(name="Test Publisher")
raise RuntimeError("Abort migration")
class Migration(migrations.Migration):
atomic = False
operations = [
migrations.CreateModel(
"Publisher",
[
("name", models.CharField(primary_key=True, max_length=255)),
],
),
migrations.RunPython(raise_error),
migrations.CreateModel(
"Book",
[
("title", models.CharField(primary_key=True, max_length=255)),
(
"publisher",
models.ForeignKey(
"migrations.Publisher", models.SET_NULL, null=True
),
),
],
),
]