Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[1.7.x] Added rollback emulation to spatialite backend; refs #22487.

Backport of 6b97ae3 from master
  • Loading branch information...
commit 11f0bdc00757e5646337633f6a045b085f0653b2 1 parent 7406fea
@timgraham timgraham authored
Showing with 8 additions and 1 deletion.
  1. +8 −1 django/contrib/gis/db/backends/spatialite/creation.py
View
9 django/contrib/gis/db/backends/spatialite/creation.py
@@ -7,7 +7,7 @@
class SpatiaLiteCreation(DatabaseCreation):
- def create_test_db(self, verbosity=1, autoclobber=False):
+ def create_test_db(self, verbosity=1, autoclobber=False, serialize=True):
"""
Creates a test database, prompting the user for confirmation if the
database already exists. Returns the name of the test database created.
@@ -43,6 +43,13 @@ def create_test_db(self, verbosity=1, autoclobber=False):
database=self.connection.alias,
load_initial_data=False)
+ # We then serialize the current state of the database into a string
+ # and store it on the connection. This slightly horrific process is so people
+ # who are testing on databases without transactions or who are using
+ # a TransactionTestCase still get a clean database on every test run.
+ if serialize:
+ self.connection._test_serialized_contents = self.serialize_db_to_string()
+
# We need to then do a flush to ensure that any data installed by
# custom SQL has been removed. The only test data should come from
# test fixtures, or autogenerated from post_migrate triggers.
Please sign in to comment.
Something went wrong with that request. Please try again.