From 25a0781a1661e7329bc1ba9bce12dfddf7f2d433 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Fri, 21 Dec 2018 18:06:16 -0500 Subject: [PATCH] Refs #29182 -- Corrected SQLite's supports_atomic_references_rename feature flag. --- django/db/backends/sqlite3/features.py | 2 +- tests/backends/sqlite/tests.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/django/db/backends/sqlite3/features.py b/django/db/backends/sqlite3/features.py index 1a31aa844d..be11c047cf 100644 --- a/django/db/backends/sqlite3/features.py +++ b/django/db/backends/sqlite3/features.py @@ -25,7 +25,7 @@ class DatabaseFeatures(BaseDatabaseFeatures): supports_transactions = True atomic_transactions = False can_rollback_ddl = True - supports_atomic_references_rename = Database.version_info >= (3, 26, 0) + supports_atomic_references_rename = Database.sqlite_version_info >= (3, 26, 0) supports_paramstyle_pyformat = False supports_sequence_reset = False can_clone_databases = True diff --git a/tests/backends/sqlite/tests.py b/tests/backends/sqlite/tests.py index d8efdf2821..bddaf8620f 100644 --- a/tests/backends/sqlite/tests.py +++ b/tests/backends/sqlite/tests.py @@ -6,7 +6,9 @@ from django.db import connection, transaction from django.db.models import Avg, StdDev, Sum, Variance from django.db.models.fields import CharField from django.db.utils import NotSupportedError -from django.test import TestCase, TransactionTestCase, override_settings +from django.test import ( + TestCase, TransactionTestCase, override_settings, skipIfDBFeature, +) from django.test.utils import isolate_apps from ..models import Author, Item, Object, Square @@ -112,6 +114,7 @@ class SchemaTests(TransactionTestCase): self.assertFalse(constraint_checks_enabled()) self.assertTrue(constraint_checks_enabled()) + @skipIfDBFeature('supports_atomic_references_rename') def test_field_rename_inside_atomic_block(self): """ NotImplementedError is raised when a model field rename is attempted @@ -129,6 +132,7 @@ class SchemaTests(TransactionTestCase): with connection.schema_editor(atomic=True) as editor: editor.alter_field(Author, Author._meta.get_field('name'), new_field) + @skipIfDBFeature('supports_atomic_references_rename') def test_table_rename_inside_atomic_block(self): """ NotImplementedError is raised when a table rename is attempted inside