From b6e6fcf326ff3b008ccd7e935c391432d95bc5e2 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Tue, 1 Sep 2015 11:12:29 -0400 Subject: [PATCH] Refs #23359 -- Removed the migrate --list option per deprecation timeline. --- django/core/management/commands/migrate.py | 23 --------------- docs/ref/django-admin.txt | 5 ---- tests/migrations/test_commands.py | 34 +--------------------- 3 files changed, 1 insertion(+), 61 deletions(-) diff --git a/django/core/management/commands/migrate.py b/django/core/management/commands/migrate.py index 9aa9c44206..3fc14080a1 100644 --- a/django/core/management/commands/migrate.py +++ b/django/core/management/commands/migrate.py @@ -2,12 +2,10 @@ from __future__ import unicode_literals import time -import warnings from collections import OrderedDict from importlib import import_module from django.apps import apps -from django.core.management import call_command from django.core.management.base import BaseCommand, CommandError from django.core.management.sql import ( emit_post_migrate_signal, emit_pre_migrate_signal, @@ -17,7 +15,6 @@ from django.db.migrations.autodetector import MigrationAutodetector from django.db.migrations.executor import MigrationExecutor from django.db.migrations.loader import AmbiguityError from django.db.migrations.state import ProjectState -from django.utils.deprecation import RemovedInDjango110Warning from django.utils.module_loading import module_has_submodule @@ -45,8 +42,6 @@ class Command(BaseCommand): help='Detect if tables already exist and fake-apply initial migrations if so. Make sure ' 'that the current database schema matches your initial migration before using this ' 'flag. Django will only check for an existing table name.') - parser.add_argument('--list', '-l', action='store_true', dest='list', default=False, - help='Show a list of all known migrations and which are applied.') parser.add_argument('--run-syncdb', action='store_true', dest='run_syncdb', help='Creates tables for apps without migrations.') @@ -65,24 +60,6 @@ class Command(BaseCommand): db = options.get('database') connection = connections[db] - # If they asked for a migration listing, quit main execution flow and show it - if options.get("list", False): - warnings.warn( - "The 'migrate --list' command is deprecated. Use 'showmigrations' instead.", - RemovedInDjango110Warning, stacklevel=2) - self.stdout.ending = None # Remove when #21429 is fixed - return call_command( - 'showmigrations', - '--list', - app_labels=[options['app_label']] if options['app_label'] else None, - database=db, - no_color=options.get('no_color'), - settings=options.get('settings'), - stdout=self.stdout, - traceback=options.get('traceback'), - verbosity=self.verbosity, - ) - # Hook for backends needing any database preparation connection.prepare_database() # Work out which apps have migrations and which do not diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt index 18e8ec1ca0..41df95b37a 100644 --- a/docs/ref/django-admin.txt +++ b/docs/ref/django-admin.txt @@ -768,11 +768,6 @@ The ``--run-syncdb`` option allows creating tables for apps without migrations. While this isn't recommended, the migrations framework is sometimes too slow on large projects with hundreds of models. -.. deprecated:: 1.8 - - The ``--list`` option has been moved to the :djadmin:`showmigrations` - command. - runserver [port or address:port] -------------------------------- diff --git a/tests/migrations/test_commands.py b/tests/migrations/test_commands.py index a0b7939a24..465152a8e0 100644 --- a/tests/migrations/test_commands.py +++ b/tests/migrations/test_commands.py @@ -9,9 +9,8 @@ from django.apps import apps from django.core.management import CommandError, call_command from django.db import DatabaseError, connection, models from django.db.migrations.recorder import MigrationRecorder -from django.test import ignore_warnings, mock, override_settings +from django.test import mock, override_settings from django.utils import six -from django.utils.deprecation import RemovedInDjango110Warning from django.utils.encoding import force_text from .models import UnicodeModel, UnserializableModel @@ -160,37 +159,6 @@ class MigrateTests(MigrationTestBase): with self.assertRaisesMessage(CommandError, "Conflicting migrations detected"): call_command("migrate", "migrations") - @ignore_warnings(category=RemovedInDjango110Warning) - @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"}) - def test_migrate_list(self): - """ - Tests --list output of migrate command - """ - out = six.StringIO() - with mock.patch('django.core.management.color.supports_color', lambda *args: True): - call_command("migrate", list=True, stdout=out, verbosity=0, no_color=False) - self.assertEqual( - '\x1b[1mmigrations\n\x1b[0m' - ' [ ] 0001_initial\n' - ' [ ] 0002_second\n', - out.getvalue().lower() - ) - - call_command("migrate", "migrations", "0001", verbosity=0) - - out = six.StringIO() - # Giving the explicit app_label tests for selective `show_migration_list` in the command - call_command("migrate", "migrations", list=True, stdout=out, verbosity=0, no_color=True) - self.assertEqual( - 'migrations\n' - ' [x] 0001_initial\n' - ' [ ] 0002_second\n', - out.getvalue().lower() - ) - - # Cleanup by unmigrating everything - call_command("migrate", "migrations", "zero", verbosity=0) - @override_settings(MIGRATION_MODULES={"migrations": "migrations.test_migrations"}) def test_showmigrations_list(self): """