Commit 7e941ba6 authored by Andrew Godwin's avatar Andrew Godwin
Browse files

Reverting unapplied migrations check away from being a system-level check.

This reverts commit 0ac13ecc.
parent dbe82e74
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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__ = [

django/core/checks/migrations.py

deleted100644 → 0
+0 −31
Original line number Diff line number Diff line
# -*- 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
+14 −0
Original line number Diff line number Diff line
@@ -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