Kaydet (Commit) e0910dcc authored tarafından Tim Graham's avatar Tim Graham

Refs #25604 -- Removed makemigrations --exit option per deprecation timeline.

üst ff419de2
import io import io
import os import os
import sys import sys
import warnings
from itertools import takewhile from itertools import takewhile
from django.apps import apps from django.apps import apps
...@@ -18,7 +17,6 @@ from django.db.migrations.questioner import ( ...@@ -18,7 +17,6 @@ from django.db.migrations.questioner import (
from django.db.migrations.state import ProjectState from django.db.migrations.state import ProjectState
from django.db.migrations.utils import get_migration_name_timestamp from django.db.migrations.utils import get_migration_name_timestamp
from django.db.migrations.writer import MigrationWriter from django.db.migrations.writer import MigrationWriter
from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.six import iteritems from django.utils.six import iteritems
from django.utils.six.moves import zip from django.utils.six.moves import zip
...@@ -52,11 +50,6 @@ class Command(BaseCommand): ...@@ -52,11 +50,6 @@ class Command(BaseCommand):
'-n', '--name', action='store', dest='name', default=None, '-n', '--name', action='store', dest='name', default=None,
help="Use this name for migration file(s).", help="Use this name for migration file(s).",
) )
parser.add_argument(
'-e', '--exit', action='store_true', dest='exit_code', default=False,
help='Exit with error code 1 if no changes needing migrations are found. '
'Deprecated, use the --check option instead.',
)
parser.add_argument( parser.add_argument(
'--check', action='store_true', dest='check_changes', '--check', action='store_true', dest='check_changes',
help='Exit with a non-zero status if model changes are missing migrations.', help='Exit with a non-zero status if model changes are missing migrations.',
...@@ -69,15 +62,8 @@ class Command(BaseCommand): ...@@ -69,15 +62,8 @@ class Command(BaseCommand):
self.merge = options['merge'] self.merge = options['merge']
self.empty = options['empty'] self.empty = options['empty']
self.migration_name = options['name'] self.migration_name = options['name']
self.exit_code = options['exit_code']
check_changes = options['check_changes'] check_changes = options['check_changes']
if self.exit_code:
warnings.warn(
"The --exit option is deprecated in favor of the --check option.",
RemovedInDjango20Warning
)
# Make sure the app they asked for exists # Make sure the app they asked for exists
app_labels = set(app_labels) app_labels = set(app_labels)
bad_app_labels = set() bad_app_labels = set()
...@@ -186,9 +172,6 @@ class Command(BaseCommand): ...@@ -186,9 +172,6 @@ class Command(BaseCommand):
self.stdout.write("No changes detected in apps '%s'" % ("', '".join(app_labels))) self.stdout.write("No changes detected in apps '%s'" % ("', '".join(app_labels)))
else: else:
self.stdout.write("No changes detected") self.stdout.write("No changes detected")
if self.exit_code:
sys.exit(1)
else: else:
self.write_migration_files(changes) self.write_migration_files(changes)
if check_changes: if check_changes:
......
...@@ -704,12 +704,6 @@ Enables fixing of migration conflicts. ...@@ -704,12 +704,6 @@ Enables fixing of migration conflicts.
Allows naming the generated migration(s) instead of using a generated name. Allows naming the generated migration(s) instead of using a generated name.
.. django-admin-option:: --exit, -e
.. deprecated:: 1.10
Use the ``--check`` option instead.
Makes ``makemigrations`` exit with error code 1 when no migrations are created Makes ``makemigrations`` exit with error code 1 when no migrations are created
(or would have been created, if combined with ``--dry-run``). (or would have been created, if combined with ``--dry-run``).
......
...@@ -445,7 +445,7 @@ Management Commands ...@@ -445,7 +445,7 @@ Management Commands
:setting:`FIXTURE_DIRS` contains duplicates or a default fixture directory :setting:`FIXTURE_DIRS` contains duplicates or a default fixture directory
path (``app_name/fixtures``), an exception is raised. path (``app_name/fixtures``), an exception is raised.
* The new :option:`makemigrations --exit` option allows exiting with an error * The new ``makemigrations --exit`` option allows exiting with an error
code if no migrations are created. code if no migrations are created.
* The new :djadmin:`showmigrations` command allows listing all migrations and * The new :djadmin:`showmigrations` command allows listing all migrations and
......
...@@ -319,3 +319,5 @@ these features. ...@@ -319,3 +319,5 @@ these features.
* The ``django.template.loader.LoaderOrigin`` and * The ``django.template.loader.LoaderOrigin`` and
``django.template.base.StringOrigin`` aliases for ``django.template.base.StringOrigin`` aliases for
``django.template.base.Origin`` are removed. ``django.template.base.Origin`` are removed.
* The ``makemigrations --exit`` option is removed.
...@@ -17,9 +17,8 @@ from django.db.migrations.exceptions import ( ...@@ -17,9 +17,8 @@ from django.db.migrations.exceptions import (
InconsistentMigrationHistory, MigrationSchemaMissing, InconsistentMigrationHistory, MigrationSchemaMissing,
) )
from django.db.migrations.recorder import MigrationRecorder 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 import six
from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.encoding import force_text from django.utils.encoding import force_text
from .models import UnicodeModel, UnserializableModel from .models import UnicodeModel, UnserializableModel
...@@ -1232,19 +1231,6 @@ class MakeMigrationsTests(MigrationTestBase): ...@@ -1232,19 +1231,6 @@ class MakeMigrationsTests(MigrationTestBase):
self.assertIn("dependencies=[\n('migrations','0001_%s'),\n]" % migration_name_0001, content) self.assertIn("dependencies=[\n('migrations','0001_%s'),\n]" % migration_name_0001, content)
self.assertIn("operations=[\n]", content) self.assertIn("operations=[\n]", content)
@ignore_warnings(category=RemovedInDjango20Warning)
def test_makemigrations_exit(self):
"""
makemigrations --exit should exit with sys.exit(1) when there are no
changes to an app.
"""
with self.temporary_migration_module():
call_command("makemigrations", "--exit", "migrations", verbosity=0)
with self.temporary_migration_module(module="migrations.test_migrations_no_changes"):
with self.assertRaises(SystemExit):
call_command("makemigrations", "--exit", "migrations", verbosity=0)
def test_makemigrations_check(self): def test_makemigrations_check(self):
""" """
makemigrations --check should exit with a non-zero status when makemigrations --check should exit with a non-zero status when
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment