Commit 7e714827 authored by Claude Paroz's avatar Claude Paroz
Browse files

Don't initialize PostGIS-specific stuff for non-db connections

Refs #16969.
parent 3c10d1e6
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
from django.db.backends.creation import NO_DB_ALIAS
from django.db.backends.postgresql_psycopg2.base import DatabaseWrapper as Psycopg2DatabaseWrapper
from django.contrib.gis.db.backends.postgis.creation import PostGISCreation
from django.contrib.gis.db.backends.postgis.introspection import PostGISIntrospection
@@ -7,6 +8,7 @@ from django.contrib.gis.db.backends.postgis.operations import PostGISOperations
class DatabaseWrapper(Psycopg2DatabaseWrapper):
    def __init__(self, *args, **kwargs):
        super(DatabaseWrapper, self).__init__(*args, **kwargs)
        if kwargs.get('alias', '') != NO_DB_ALIAS:
            self.creation = PostGISCreation(self)
            self.ops = PostGISOperations(self)
            self.introspection = PostGISIntrospection(self)
+2 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ from .utils import truncate_name
# The prefix to put on the default database name when creating
# the test database.
TEST_DATABASE_PREFIX = 'test_'
NO_DB_ALIAS = '__no_db__'


class BaseDatabaseCreation(object):
@@ -44,7 +45,7 @@ class BaseDatabaseCreation(object):
        backend = load_backend(settings_dict['ENGINE'])
        nodb_connection = backend.DatabaseWrapper(
             settings_dict,
             alias='__no_db__',
             alias=NO_DB_ALIAS,
             allow_thread_sharing=False)
        return nodb_connection