Fixed #25175 -- Renamed the postgresql_psycopg2 database backend to postgresql.
This commit is contained in:
parent
8656cfc4e0
commit
ec9004728e
|
@ -1,5 +1,5 @@
|
|||
from django.db.backends.base.base import NO_DB_ALIAS
|
||||
from django.db.backends.postgresql_psycopg2.base import \
|
||||
from django.db.backends.postgresql.base import \
|
||||
DatabaseWrapper as Psycopg2DatabaseWrapper
|
||||
|
||||
from .features import DatabaseFeatures
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures
|
||||
from django.db.backends.postgresql_psycopg2.features import \
|
||||
from django.db.backends.postgresql.features import \
|
||||
DatabaseFeatures as Psycopg2DatabaseFeatures
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
from django.contrib.gis.gdal import OGRGeomType
|
||||
from django.db.backends.postgresql_psycopg2.introspection import \
|
||||
DatabaseIntrospection
|
||||
from django.db.backends.postgresql.introspection import DatabaseIntrospection
|
||||
|
||||
|
||||
class GeoIntrospectionError(Exception):
|
||||
|
|
|
@ -11,8 +11,7 @@ from django.contrib.gis.db.backends.utils import SpatialOperator
|
|||
from django.contrib.gis.geometry.backend import Geometry
|
||||
from django.contrib.gis.measure import Distance
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.db.backends.postgresql_psycopg2.operations import \
|
||||
DatabaseOperations
|
||||
from django.db.backends.postgresql.operations import DatabaseOperations
|
||||
from django.db.utils import ProgrammingError
|
||||
from django.utils.functional import cached_property
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from django.db.backends.postgresql_psycopg2.schema import DatabaseSchemaEditor
|
||||
from django.db.backends.postgresql.schema import DatabaseSchemaEditor
|
||||
|
||||
|
||||
class PostGISSchemaEditor(DatabaseSchemaEditor):
|
||||
|
|
|
@ -104,7 +104,14 @@ class DatabaseErrorWrapper(object):
|
|||
|
||||
|
||||
def load_backend(backend_name):
|
||||
# Look for a fully qualified database backend name
|
||||
"""
|
||||
Return a database backend's "base" module given a fully qualified database
|
||||
backend name, or raise an error if it doesn't exist.
|
||||
"""
|
||||
# This backend was renamed in Django 1.9.
|
||||
if backend_name == 'django.db.backends.postgresql_psycopg2':
|
||||
backend_name = 'django.db.backends.postgresql'
|
||||
|
||||
try:
|
||||
return import_module('%s.base' % backend_name)
|
||||
except ImportError as e_user:
|
||||
|
@ -114,7 +121,8 @@ def load_backend(backend_name):
|
|||
try:
|
||||
builtin_backends = [
|
||||
name for _, name, ispkg in pkgutil.iter_modules([npath(backend_dir)])
|
||||
if ispkg and name not in {'base', 'dummy'}]
|
||||
if ispkg and name not in {'base', 'dummy', 'postgresql_psycopg2'}
|
||||
]
|
||||
except EnvironmentError:
|
||||
builtin_backends = []
|
||||
if backend_name not in ['django.db.backends.%s' % b for b in
|
||||
|
|
|
@ -26,7 +26,7 @@ settings:
|
|||
|
||||
* :setting:`ENGINE <DATABASE-ENGINE>` -- Either
|
||||
``'django.db.backends.sqlite3'``,
|
||||
``'django.db.backends.postgresql_psycopg2'``,
|
||||
``'django.db.backends.postgresql'``,
|
||||
``'django.db.backends.mysql'``, or
|
||||
``'django.db.backends.oracle'``. Other backends are :ref:`also available
|
||||
<third-party-notes>`.
|
||||
|
|
|
@ -1512,7 +1512,7 @@ make the call non-blocking. If a conflicting lock is already acquired by
|
|||
another transaction, :exc:`~django.db.DatabaseError` will be raised when the
|
||||
queryset is evaluated.
|
||||
|
||||
Currently, the ``postgresql_psycopg2``, ``oracle``, and ``mysql`` database
|
||||
Currently, the ``postgresql``, ``oracle``, and ``mysql`` database
|
||||
backends support ``select_for_update()``. However, MySQL has no support for the
|
||||
``nowait`` argument. Obviously, users of external third-party backends should
|
||||
check with their backend's documentation for specifics in those cases.
|
||||
|
|
|
@ -459,7 +459,7 @@ other database types. This example is for PostgreSQL::
|
|||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': 'mydatabase',
|
||||
'USER': 'mydatabaseuser',
|
||||
'PASSWORD': 'mypassword',
|
||||
|
@ -500,14 +500,19 @@ Default: ``''`` (Empty string)
|
|||
|
||||
The database backend to use. The built-in database backends are:
|
||||
|
||||
* ``'django.db.backends.postgresql_psycopg2'``
|
||||
* ``'django.db.backends.postgresql'``
|
||||
* ``'django.db.backends.mysql'``
|
||||
* ``'django.db.backends.sqlite3'``
|
||||
* ``'django.db.backends.oracle'``
|
||||
|
||||
You can use a database backend that doesn't ship with Django by setting
|
||||
``ENGINE`` to a fully-qualified path (i.e.
|
||||
``mypackage.backends.whatever``).
|
||||
``ENGINE`` to a fully-qualified path (i.e. ``mypackage.backends.whatever``).
|
||||
|
||||
.. versionchanged:: 1.9
|
||||
|
||||
The ``django.db.backends.postgresql`` backend is named
|
||||
``django.db.backends.postgresql_psycopg2`` in older releases. For backwards
|
||||
compatibility, the old name still works in newer versions.
|
||||
|
||||
.. setting:: HOST
|
||||
|
||||
|
@ -657,8 +662,7 @@ The character set encoding used to create the test database. The value of this
|
|||
string is passed directly through to the database, so its format is
|
||||
backend-specific.
|
||||
|
||||
Supported for the PostgreSQL_ (``postgresql_psycopg2``) and MySQL_ (``mysql``)
|
||||
backends.
|
||||
Supported by the PostgreSQL_ (``postgresql``) and MySQL_ (``mysql``) backends.
|
||||
|
||||
.. _PostgreSQL: http://www.postgresql.org/docs/current/static/multibyte.html
|
||||
.. _MySQL: http://dev.mysql.com/doc/refman/5.6/en/charset-database.html
|
||||
|
|
|
@ -625,7 +625,7 @@ Arguments sent with this signal:
|
|||
|
||||
``sender``
|
||||
The database wrapper class -- i.e.
|
||||
``django.db.backends.postgresql_psycopg2.DatabaseWrapper`` or
|
||||
``django.db.backends.postgresql.DatabaseWrapper`` or
|
||||
``django.db.backends.mysql.DatabaseWrapper``, etc.
|
||||
|
||||
``connection``
|
||||
|
|
|
@ -578,6 +578,13 @@ Validators
|
|||
* Added :func:`~django.core.validators.validate_unicode_slug` to validate slugs
|
||||
that may contain Unicode characters.
|
||||
|
||||
Database backends
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
* The PostgreSQL backend (``django.db.backends.postgresql_psycopg2``) is also
|
||||
available as ``django.db.backends.postgresql``. The old name will continue to
|
||||
be available for backwards compatibility.
|
||||
|
||||
Backwards incompatible changes in 1.9
|
||||
=====================================
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ databases -- a default PostgreSQL database and a MySQL database called
|
|||
DATABASES = {
|
||||
'default': {
|
||||
'NAME': 'app_data',
|
||||
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'USER': 'postgres_user',
|
||||
'PASSWORD': 's3krit'
|
||||
},
|
||||
|
|
|
@ -9,7 +9,7 @@ class TestLoadBackend(SimpleTestCase):
|
|||
msg = (
|
||||
"'foo' isn't an available database backend.\n"
|
||||
"Try using 'django.db.backends.XXX', where XXX is one of:\n"
|
||||
" 'mysql', 'oracle', 'postgresql_psycopg2', 'sqlite3'\n"
|
||||
" 'mysql', 'oracle', 'postgresql', 'sqlite3'\n"
|
||||
"Error was: No module named %s"
|
||||
) % "foo.base" if six.PY2 else "'foo'"
|
||||
with self.assertRaisesMessage(ImproperlyConfigured, msg):
|
||||
|
|
|
@ -18,7 +18,7 @@ from django.db import (
|
|||
reset_queries, transaction,
|
||||
)
|
||||
from django.db.backends.base.base import BaseDatabaseWrapper
|
||||
from django.db.backends.postgresql_psycopg2 import version as pg_version
|
||||
from django.db.backends.postgresql import version as pg_version
|
||||
from django.db.backends.signals import connection_created
|
||||
from django.db.backends.utils import CursorWrapper, format_number
|
||||
from django.db.models import Avg, StdDev, Sum, Variance
|
||||
|
@ -313,7 +313,7 @@ class PostgreSQLTests(TestCase):
|
|||
self.assertEqual(a[0], b[0])
|
||||
|
||||
def test_lookup_cast(self):
|
||||
from django.db.backends.postgresql_psycopg2.operations import DatabaseOperations
|
||||
from django.db.backends.postgresql.operations import DatabaseOperations
|
||||
|
||||
do = DatabaseOperations(connection=None)
|
||||
for lookup in ('iexact', 'contains', 'icontains', 'startswith',
|
||||
|
@ -321,8 +321,8 @@ class PostgreSQLTests(TestCase):
|
|||
self.assertIn('::text', do.lookup_cast(lookup))
|
||||
|
||||
def test_correct_extraction_psycopg2_version(self):
|
||||
from django.db.backends.postgresql_psycopg2.base import psycopg2_version
|
||||
version_path = 'django.db.backends.postgresql_psycopg2.base.Database.__version__'
|
||||
from django.db.backends.postgresql.base import psycopg2_version
|
||||
version_path = 'django.db.backends.postgresql.base.Database.__version__'
|
||||
|
||||
with mock.patch(version_path, '2.6.9'):
|
||||
self.assertEqual(psycopg2_version(), (2, 6, 9))
|
||||
|
|
|
@ -4,7 +4,7 @@ from __future__ import unicode_literals
|
|||
import locale
|
||||
import os
|
||||
|
||||
from django.db.backends.postgresql_psycopg2.client import DatabaseClient
|
||||
from django.db.backends.postgresql.client import DatabaseClient
|
||||
from django.test import SimpleTestCase, mock
|
||||
from django.utils import six
|
||||
from django.utils.encoding import force_bytes, force_str
|
||||
|
|
Loading…
Reference in New Issue