Commit 35e8dc51 authored by Ramiro Morales's avatar Ramiro Morales
Browse files

Removed ad-hoc support for usage of short names of built-in DB backends.

This non-standard naming was deprecated in Django 1.2.
parent ab232937
Loading
Loading
Loading
Loading
+7 −16
Original line number Diff line number Diff line
@@ -28,28 +28,19 @@ def load_backend(backend_name):
        # listing all possible (built-in) database backends.
        backend_dir = os.path.join(os.path.dirname(__file__), 'backends')
        try:
            available_backends = [f for f in os.listdir(backend_dir)
            builtin_backends = [f for f in os.listdir(backend_dir)
                    if os.path.isdir(os.path.join(backend_dir, f))
                    and not (f.startswith('.') or f == '__pycache__')]
                    and not (f.startswith('.') or f in ('__pycache__', 'dummy'))]
        except EnvironmentError:
            available_backends = []
        full_notation = backend_name.startswith('django.db.backends.')
        if full_notation:
            backend_name = backend_name[19:] # See #15621.
        if backend_name not in available_backends:
            backend_reprs = map(repr, sorted(available_backends))
            builtin_backends = []
        if backend_name not in ['django.db.backends.%s' % b for b in
                                builtin_backends]:
            backend_reprs = map(repr, sorted(builtin_backends))
            error_msg = ("%r isn't an available database backend.\n"
                         "Try using django.db.backends.XXX, where XXX "
                         "Try using 'django.db.backends.XXX', where XXX "
                         "is one of:\n    %s\nError was: %s" %
                         (backend_name, ", ".join(backend_reprs), e_user))
            raise ImproperlyConfigured(error_msg)
        elif not full_notation:
            # user tried to use the old notation for the database backend
            error_msg = ("%r isn't an available database backend.\n"
                         "Try using django.db.backends.%s instead.\n"
                         "Error was: %s" %
                         (backend_name, backend_name, e_user))
            raise ImproperlyConfigured(error_msg)
        else:
            # If there's some other error, this must be an error in Django
            raise
+0 −7
Original line number Diff line number Diff line
@@ -666,13 +666,6 @@ class ThreadTests(TestCase):
        self.assertEqual(len(exceptions), 0)


class BackendLoadingTests(TestCase):
    def test_old_style_backends_raise_useful_exception(self):
        six.assertRaisesRegex(self, ImproperlyConfigured,
            "Try using django.db.backends.sqlite3 instead",
            load_backend, 'sqlite3')


class MySQLPKZeroTests(TestCase):
    """
    Zero as id for AutoField should raise exception in MySQL, because MySQL