mirror of
https://github.com/django/django.git
synced 2025-07-05 02:09:13 +00:00
[soc2009/multidb] Modified database ENGINE handling to allow (with warnings) for short-form engine names in a DATABASES dictionary. Patch from Russell Keith-Magee.
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11781 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
e58c73041b
commit
28c2d5fde7
9
TODO
9
TODO
@ -11,15 +11,6 @@ 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
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
@ -18,18 +18,8 @@ if not settings.DATABASES:
|
||||
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': engine,
|
||||
'ENGINE': settings.DATABASE_ENGINE,
|
||||
'HOST': settings.DATABASE_HOST,
|
||||
'NAME': settings.DATABASE_NAME,
|
||||
'OPTIONS': settings.DATABASE_OPTIONS,
|
||||
@ -44,6 +34,15 @@ if not settings.DATABASES:
|
||||
if DEFAULT_DB_ALIAS not in settings.DATABASES:
|
||||
raise ImproperlyConfigured("You must default a '%s' database" % DEFAULT_DB_ALIAS)
|
||||
|
||||
for database in settings.DATABASES.values():
|
||||
if database['ENGINE'] in ("postgresql", "postgresql_psycopg2", "sqlite3", "mysql", "oracle"):
|
||||
database['ENGINE'] = "django.db.backends.%s" % database['ENGINE']
|
||||
import warnings
|
||||
warnings.warn(
|
||||
"Short names for DATABASE_ENGINE are deprecated; prepend with 'django.db.backends.'",
|
||||
PendingDeprecationWarning
|
||||
)
|
||||
|
||||
connections = ConnectionHandler(settings.DATABASES)
|
||||
|
||||
|
||||
|
@ -6,7 +6,13 @@ from django.utils.importlib import import_module
|
||||
|
||||
def load_backend(backend_name):
|
||||
try:
|
||||
return import_module('.base', 'django.db.backends.%s' % backend_name)
|
||||
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
|
||||
except ImportError, e:
|
||||
# Look for a fully qualified database backend name
|
||||
try:
|
||||
|
Loading…
x
Reference in New Issue
Block a user