mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Added rollback emulation to spatialite backend; refs #22487.
This commit is contained in:
		| @@ -7,7 +7,7 @@ from django.db.backends.sqlite3.creation import DatabaseCreation | |||||||
|  |  | ||||||
| class SpatiaLiteCreation(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 |         Creates a test database, prompting the user for confirmation if the | ||||||
|         database already exists. Returns the name of the test database created. |         database already exists. Returns the name of the test database created. | ||||||
| @@ -47,6 +47,13 @@ class SpatiaLiteCreation(DatabaseCreation): | |||||||
|             database=self.connection.alias, |             database=self.connection.alias, | ||||||
|             load_initial_data=False) |             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 |         # 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 |         # custom SQL has been removed. The only test data should come from | ||||||
|         # test fixtures, or autogenerated from post_migrate triggers. |         # test fixtures, or autogenerated from post_migrate triggers. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user