Commit 6b97ae35 authored by Tim Graham's avatar Tim Graham
Browse files

Added rollback emulation to spatialite backend; refs #22487.

parent f146e70c
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ from django.db.backends.sqlite3.creation import DatabaseCreation

class SpatiaLiteCreation(DatabaseCreation):

    def create_test_db(self, verbosity=1, autoclobber=False, keepdb=False):
    def create_test_db(self, verbosity=1, autoclobber=False, serialize=True, keepdb=False):
        """
        Creates a test database, prompting the user for confirmation if the
        database already exists. Returns the name of the test database created.
@@ -47,6 +47,13 @@ class SpatiaLiteCreation(DatabaseCreation):
            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.