From 7e941ba67ceab8a74ba50509d13ed4298f8305cd Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Wed, 12 Feb 2014 18:55:20 +0000 Subject: [PATCH] Reverting unapplied migrations check away from being a system-level check. This reverts commit 0ac13eccebb3d879f79b31585b1e81f655067179. --- django/core/checks/__init__.py | 1 - django/core/checks/migrations.py | 31 -------------------- django/core/management/commands/runserver.py | 14 +++++++++ 3 files changed, 14 insertions(+), 32 deletions(-) delete mode 100644 django/core/checks/migrations.py diff --git a/django/core/checks/__init__.py b/django/core/checks/__init__.py index 691f2f9606..82a3acf337 100644 --- a/django/core/checks/__init__.py +++ b/django/core/checks/__init__.py @@ -8,7 +8,6 @@ from .registry import register, run_checks, tag_exists # Import these to force registration of checks import django.core.checks.compatibility.django_1_6_0 # NOQA -import django.core.checks.migrations # NOQA import django.core.checks.model_checks # NOQA __all__ = [ diff --git a/django/core/checks/migrations.py b/django/core/checks/migrations.py deleted file mode 100644 index c557ad39e7..0000000000 --- a/django/core/checks/migrations.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -from django.conf import settings - -from . import Warning, register - - -@register('migrations') -def check_migrations(app_configs=None, **kwargs): - """ - Checks to see if the set of migrations on disk matches the - migrations in the database. Prints a warning if they don't match. - """ - from django.db import connections, DEFAULT_DB_ALIAS - from django.db.migrations.executor import MigrationExecutor - - errors = [] - plan = None - if settings.DATABASES: - executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS]) - plan = executor.migration_plan(executor.loader.graph.leaf_nodes()) - if plan: - errors.append( - Warning( - "You have unapplied migrations; " - "your app may not work properly until they are applied.", - hint="Run 'python manage.py migrate' to apply them.", - ) - ) - return errors diff --git a/django/core/management/commands/runserver.py b/django/core/management/commands/runserver.py index 8320614409..e85aa88c3e 100644 --- a/django/core/management/commands/runserver.py +++ b/django/core/management/commands/runserver.py @@ -10,6 +10,8 @@ import socket from django.core.management.base import BaseCommand, CommandError from django.core.servers.basehttp import run, get_internal_wsgi_application +from django.db import connections, DEFAULT_DB_ALIAS +from django.db.migrations.executor import MigrationExecutor from django.utils import autoreload from django.utils import six @@ -99,6 +101,7 @@ class Command(BaseCommand): self.stdout.write("Performing system checks...\n\n") self.validate(display_num_errors=True) + self.check_migrations() now = datetime.now().strftime('%B %d, %Y - %X') if six.PY2: now = now.decode('utf-8') @@ -143,5 +146,16 @@ class Command(BaseCommand): self.stdout.write(shutdown_message) sys.exit(0) + def check_migrations(self): + """ + Checks to see if the set of migrations on disk matches the + migrations in the database. Prints a warning if they don't match. + """ + executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS]) + plan = executor.migration_plan(executor.loader.graph.leaf_nodes()) + if plan: + self.stdout.write(self.style.NOTICE("\nYou have unapplied migrations; your app may not work properly until they are applied.")) + self.stdout.write(self.style.NOTICE("Run 'python manage.py migrate' to apply them.\n")) + # Kept for backward compatibility BaseRunserverCommand = Command