Loading django/core/management/commands/migrate.py +12 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,18 @@ class Command(BaseCommand): else: created_models = [] # The test runner requires us to flush after a syncdb but before migrations, # so do that here. if options.get("test_flush", False): call_command( 'flush', verbosity=max(self.verbosity - 1, 0), interactive=False, database=db, reset_sequences=False, inhibit_post_migrate=True, ) # Migrate! if self.verbosity >= 1: self.stdout.write(self.style.MIGRATE_HEADING("Running migrations:")) Loading django/db/backends/creation.py +1 −8 Original line number Diff line number Diff line Loading @@ -371,6 +371,7 @@ class BaseDatabaseCreation(object): interactive=False, database=self.connection.alias, test_database=True, test_flush=True, ) # We then serialize the current state of the database into a string Loading @@ -380,14 +381,6 @@ class BaseDatabaseCreation(object): if serialize: self.connection._test_serialized_contents = self.serialize_db_to_string() # Finally, we flush the database to clean call_command( 'flush', verbosity=max(verbosity - 1, 0), interactive=False, database=self.connection.alias ) call_command('createcachetable', database=self.connection.alias) # Ensure a connection for the side effect of initializing the test database. Loading tests/migration_test_data_persistence/tests.py +6 −9 Original line number Diff line number Diff line from django.test import TransactionTestCase from django.test import TransactionTestCase, TestCase from .models import Book class MigrationDataPersistenceTestCase(TransactionTestCase): """ Tests that data loaded in migrations is available if we set serialized_rollback = True. serialized_rollback = True on TransactionTestCase """ available_apps = ["migration_test_data_persistence"] Loading @@ -18,16 +18,13 @@ class MigrationDataPersistenceTestCase(TransactionTestCase): ) class MigrationDataNoPersistenceTestCase(TransactionTestCase): class MigrationDataNormalPersistenceTestCase(TestCase): """ Tests the failure case Tests that data loaded in migrations is available on TestCase """ available_apps = ["migration_test_data_persistence"] serialized_rollback = False def test_no_persistence(self): def test_persistence(self): self.assertEqual( Book.objects.count(), 0, 1, ) Loading
django/core/management/commands/migrate.py +12 −0 Original line number Diff line number Diff line Loading @@ -129,6 +129,18 @@ class Command(BaseCommand): else: created_models = [] # The test runner requires us to flush after a syncdb but before migrations, # so do that here. if options.get("test_flush", False): call_command( 'flush', verbosity=max(self.verbosity - 1, 0), interactive=False, database=db, reset_sequences=False, inhibit_post_migrate=True, ) # Migrate! if self.verbosity >= 1: self.stdout.write(self.style.MIGRATE_HEADING("Running migrations:")) Loading
django/db/backends/creation.py +1 −8 Original line number Diff line number Diff line Loading @@ -371,6 +371,7 @@ class BaseDatabaseCreation(object): interactive=False, database=self.connection.alias, test_database=True, test_flush=True, ) # We then serialize the current state of the database into a string Loading @@ -380,14 +381,6 @@ class BaseDatabaseCreation(object): if serialize: self.connection._test_serialized_contents = self.serialize_db_to_string() # Finally, we flush the database to clean call_command( 'flush', verbosity=max(verbosity - 1, 0), interactive=False, database=self.connection.alias ) call_command('createcachetable', database=self.connection.alias) # Ensure a connection for the side effect of initializing the test database. Loading
tests/migration_test_data_persistence/tests.py +6 −9 Original line number Diff line number Diff line from django.test import TransactionTestCase from django.test import TransactionTestCase, TestCase from .models import Book class MigrationDataPersistenceTestCase(TransactionTestCase): """ Tests that data loaded in migrations is available if we set serialized_rollback = True. serialized_rollback = True on TransactionTestCase """ available_apps = ["migration_test_data_persistence"] Loading @@ -18,16 +18,13 @@ class MigrationDataPersistenceTestCase(TransactionTestCase): ) class MigrationDataNoPersistenceTestCase(TransactionTestCase): class MigrationDataNormalPersistenceTestCase(TestCase): """ Tests the failure case Tests that data loaded in migrations is available on TestCase """ available_apps = ["migration_test_data_persistence"] serialized_rollback = False def test_no_persistence(self): def test_persistence(self): self.assertEqual( Book.objects.count(), 0, 1, )