From e58c73041b87e64c3401022589b5de5868179a61 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Thu, 26 Nov 2009 07:26:05 +0000 Subject: [PATCH] [soc2009/multidb] Fix a number of tests when run under an old style settings (i.e. using the DATABASE_* settings). git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11779 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- TODO | 9 +++++++++ django/db/__init__.py | 12 +++++++++++- django/db/utils.py | 8 +------- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/TODO b/TODO index 82fdfcd9f4..6e7a09b197 100644 --- a/TODO +++ b/TODO @@ -11,6 +11,15 @@ Required for v1.2 * validate() on a field * name/purpose clash with Honza? * any overlap with existing methods? + * Check test failures with old-style (non-multi-db) settings file + * custom_pk + * backends + * Check test failures with MySQL MyISAM + * serializers_regress + * fixtures + * lookup + * transactions + * model_regress Optional for v1.2 ~~~~~~~~~~~~~~~~~ diff --git a/django/db/__init__.py b/django/db/__init__.py index 216405e48e..a31c2bd6fc 100644 --- a/django/db/__init__.py +++ b/django/db/__init__.py @@ -17,9 +17,19 @@ if not settings.DATABASES: "settings.DATABASE_* is deprecated; use settings.DATABASES instead.", PendingDeprecationWarning ) + + if settings.DATABASE_ENGINE in ("postgresql", "postgresql_psycopg2", + "sqlite3", "mysql", "oracle"): + engine = "django.db.backends.%s" % settings.DATABASE_ENGINE + warnings.warn( + "Short names for DATABASE_ENGINE are deprecated; prepend with 'django.db.backends.'", + PendingDeprecationWarning + ) + else: + engine = settings.DATABASE_ENGINE settings.DATABASES[DEFAULT_DB_ALIAS] = { - 'ENGINE': settings.DATABASE_ENGINE, + 'ENGINE': engine, 'HOST': settings.DATABASE_HOST, 'NAME': settings.DATABASE_NAME, 'OPTIONS': settings.DATABASE_OPTIONS, diff --git a/django/db/utils.py b/django/db/utils.py index 75ac5726ca..087c414ae6 100644 --- a/django/db/utils.py +++ b/django/db/utils.py @@ -6,13 +6,7 @@ from django.utils.importlib import import_module def load_backend(backend_name): try: - module = import_module('.base', 'django.db.backends.%s' % backend_name) - import warnings - warnings.warn( - "Short names for DATABASE_ENGINE are deprecated; prepend with 'django.db.backends.'", - PendingDeprecationWarning - ) - return module + return import_module('.base', 'django.db.backends.%s' % backend_name) except ImportError, e: # Look for a fully qualified database backend name try: