mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Isolated migrations.test_commands.MigrateTests.test_migrate_plan.
This commit is contained in:
		| @@ -327,53 +327,55 @@ class MigrateTests(MigrationTestBase): | ||||
|             "    Raw SQL operation -> ['SELECT * FROM migrations_author']\n", | ||||
|             out.getvalue() | ||||
|         ) | ||||
|         # Migrate to the third migration. | ||||
|         call_command('migrate', 'migrations', '0003', verbosity=0) | ||||
|         out = io.StringIO() | ||||
|         # Show the plan for when there is nothing to apply. | ||||
|         call_command('migrate', 'migrations', '0003', plan=True, stdout=out, no_color=True) | ||||
|         self.assertEqual( | ||||
|             'Planned operations:\n' | ||||
|             '  No planned migration operations.\n', | ||||
|             out.getvalue() | ||||
|         ) | ||||
|         out = io.StringIO() | ||||
|         # Show the plan for reverse migration back to 0001. | ||||
|         call_command('migrate', 'migrations', '0001', plan=True, stdout=out, no_color=True) | ||||
|         self.assertEqual( | ||||
|             'Planned operations:\n' | ||||
|             'migrations.0003_third\n' | ||||
|             '    Undo Create model Author\n' | ||||
|             "    Raw SQL operation -> ['SELECT * FROM migrations_book']\n" | ||||
|             'migrations.0002_second\n' | ||||
|             '    Undo Create model Book\n' | ||||
|             "    Raw SQL operation -> ['SELECT * FROM migrations_salamand…\n", | ||||
|             out.getvalue() | ||||
|         ) | ||||
|         out = io.StringIO() | ||||
|         # Show the migration plan to fourth, with truncated details. | ||||
|         call_command('migrate', 'migrations', '0004', plan=True, stdout=out, no_color=True) | ||||
|         self.assertEqual( | ||||
|             'Planned operations:\n' | ||||
|             'migrations.0004_fourth\n' | ||||
|             '    Raw SQL operation -> SELECT * FROM migrations_author WHE…\n', | ||||
|             out.getvalue() | ||||
|         ) | ||||
|         # Show the plan when an operation is irreversible. | ||||
|         # Migrate to the fourth migration. | ||||
|         call_command('migrate', 'migrations', '0004', verbosity=0) | ||||
|         out = io.StringIO() | ||||
|         call_command('migrate', 'migrations', '0003', plan=True, stdout=out, no_color=True) | ||||
|         self.assertEqual( | ||||
|             'Planned operations:\n' | ||||
|             'migrations.0004_fourth\n' | ||||
|             '    Raw SQL operation -> IRREVERSIBLE\n', | ||||
|             out.getvalue() | ||||
|         ) | ||||
|         # Cleanup by unmigrating everything: fake the irreversible, then | ||||
|         # migrate all to zero. | ||||
|         call_command('migrate', 'migrations', '0003', fake=True, verbosity=0) | ||||
|         call_command('migrate', 'migrations', 'zero', verbosity=0) | ||||
|         try: | ||||
|             # Migrate to the third migration. | ||||
|             call_command('migrate', 'migrations', '0003', verbosity=0) | ||||
|             out = io.StringIO() | ||||
|             # Show the plan for when there is nothing to apply. | ||||
|             call_command('migrate', 'migrations', '0003', plan=True, stdout=out, no_color=True) | ||||
|             self.assertEqual( | ||||
|                 'Planned operations:\n' | ||||
|                 '  No planned migration operations.\n', | ||||
|                 out.getvalue() | ||||
|             ) | ||||
|             out = io.StringIO() | ||||
|             # Show the plan for reverse migration back to 0001. | ||||
|             call_command('migrate', 'migrations', '0001', plan=True, stdout=out, no_color=True) | ||||
|             self.assertEqual( | ||||
|                 'Planned operations:\n' | ||||
|                 'migrations.0003_third\n' | ||||
|                 '    Undo Create model Author\n' | ||||
|                 "    Raw SQL operation -> ['SELECT * FROM migrations_book']\n" | ||||
|                 'migrations.0002_second\n' | ||||
|                 '    Undo Create model Book\n' | ||||
|                 "    Raw SQL operation -> ['SELECT * FROM migrations_salamand…\n", | ||||
|                 out.getvalue() | ||||
|             ) | ||||
|             out = io.StringIO() | ||||
|             # Show the migration plan to fourth, with truncated details. | ||||
|             call_command('migrate', 'migrations', '0004', plan=True, stdout=out, no_color=True) | ||||
|             self.assertEqual( | ||||
|                 'Planned operations:\n' | ||||
|                 'migrations.0004_fourth\n' | ||||
|                 '    Raw SQL operation -> SELECT * FROM migrations_author WHE…\n', | ||||
|                 out.getvalue() | ||||
|             ) | ||||
|             # Show the plan when an operation is irreversible. | ||||
|             # Migrate to the fourth migration. | ||||
|             call_command('migrate', 'migrations', '0004', verbosity=0) | ||||
|             out = io.StringIO() | ||||
|             call_command('migrate', 'migrations', '0003', plan=True, stdout=out, no_color=True) | ||||
|             self.assertEqual( | ||||
|                 'Planned operations:\n' | ||||
|                 'migrations.0004_fourth\n' | ||||
|                 '    Raw SQL operation -> IRREVERSIBLE\n', | ||||
|                 out.getvalue() | ||||
|             ) | ||||
|         finally: | ||||
|             # Cleanup by unmigrating everything: fake the irreversible, then | ||||
|             # migrate all to zero. | ||||
|             call_command('migrate', 'migrations', '0003', fake=True, verbosity=0) | ||||
|             call_command('migrate', 'migrations', 'zero', verbosity=0) | ||||
|  | ||||
|     @override_settings(MIGRATION_MODULES={'migrations': 'migrations.test_migrations_empty'}) | ||||
|     def test_showmigrations_no_migrations(self): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user