Browse files

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

Backport of 6b97ae3 from master
  • Loading branch information...
1 parent 7406fea commit 11f0bdc00757e5646337633f6a045b085f0653b2 @timgraham timgraham committed Jun 9, 2014
Showing with 8 additions and 1 deletion.
  1. +8 −1 django/contrib/gis/db/backends/spatialite/
@@ -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):
+ # 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.

0 comments on commit 11f0bdc

Please sign in to comment.