mirror of https://github.com/django/django.git
Isolated migrations.test_commands.MigrateTests.test_migrate_plan.
This commit is contained in:
parent
2839659b42
commit
05186c03a3
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue