mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #33718 -- Dropped support for MySQL 5.7.
This commit is contained in:
parent
ccbf714ebe
commit
eb3699ea77
16 changed files with 42 additions and 126 deletions
|
@ -22,11 +22,9 @@ GeoDjango currently provides the following spatial database backends:
|
|||
MySQL Spatial Limitations
|
||||
-------------------------
|
||||
|
||||
Before MySQL 5.6.1, spatial extensions only support bounding box operations
|
||||
(what MySQL calls minimum bounding rectangles, or MBR). Specifically, MySQL did
|
||||
not conform to the OGC standard. Django supports spatial functions operating on
|
||||
real geometries available in modern MySQL versions. However, the spatial
|
||||
functions are not as rich as other backends like PostGIS.
|
||||
Django supports spatial functions operating on real geometries available in
|
||||
modern MySQL versions. However, the spatial functions are not as rich as other
|
||||
backends like PostGIS.
|
||||
|
||||
Raster Support
|
||||
--------------
|
||||
|
@ -318,7 +316,7 @@ Lookup Type PostGIS Oracle MariaDB MySQL [#]_ Sp
|
|||
:lookup:`equals` X X X X X C
|
||||
:lookup:`exact <same_as>` X X X X X B
|
||||
:lookup:`intersects` X X X X X B
|
||||
:lookup:`isvalid` X X X (≥ 5.7.5) X
|
||||
:lookup:`isvalid` X X X X
|
||||
:lookup:`overlaps` X X X X X B
|
||||
:lookup:`relate` X X X X C
|
||||
:lookup:`same_as` X X X X X B
|
||||
|
@ -348,7 +346,7 @@ functions are available on each spatial backend.
|
|||
Function PostGIS Oracle MariaDB MySQL SpatiaLite
|
||||
==================================== ======= ============== ============ =========== =================
|
||||
:class:`Area` X X X X X
|
||||
:class:`AsGeoJSON` X X X X (≥ 5.7.5) X
|
||||
:class:`AsGeoJSON` X X X X X
|
||||
:class:`AsGML` X X X
|
||||
:class:`AsKML` X X
|
||||
:class:`AsSVG` X X
|
||||
|
@ -361,9 +359,9 @@ Function PostGIS Oracle MariaDB MySQL
|
|||
:class:`Distance` X X X X X
|
||||
:class:`Envelope` X X X X X
|
||||
:class:`ForcePolygonCW` X X
|
||||
:class:`GeoHash` X X (≥ 5.7.5) X (LWGEOM/RTTOPO)
|
||||
:class:`GeoHash` X X X (LWGEOM/RTTOPO)
|
||||
:class:`Intersection` X X X X X
|
||||
:class:`IsValid` X X X (≥ 5.7.5) X
|
||||
:class:`IsValid` X X X X
|
||||
:class:`Length` X X X X X
|
||||
:class:`LineLocatePoint` X X
|
||||
:class:`MakeValid` X X (LWGEOM/RTTOPO)
|
||||
|
|
|
@ -53,7 +53,7 @@ geographic SRSes.
|
|||
.. class:: AsGeoJSON(expression, bbox=False, crs=False, precision=8, **extra)
|
||||
|
||||
*Availability*: MariaDB, `MySQL
|
||||
<https://dev.mysql.com/doc/refman/en/spatial-geojson-functions.html#function_st-asgeojson>`__ (≥ 5.7.5),
|
||||
<https://dev.mysql.com/doc/refman/en/spatial-geojson-functions.html#function_st-asgeojson>`__,
|
||||
Oracle, `PostGIS <https://postgis.net/docs/ST_AsGeoJSON.html>`__, SpatiaLite
|
||||
|
||||
Accepts a single geographic field or expression and returns a `GeoJSON
|
||||
|
@ -333,7 +333,7 @@ are returned unchanged.
|
|||
.. class:: GeoHash(expression, precision=None, **extra)
|
||||
|
||||
*Availability*: `MySQL
|
||||
<https://dev.mysql.com/doc/refman/en/spatial-geohash-functions.html#function_st-geohash>`__ (≥ 5.7.5),
|
||||
<https://dev.mysql.com/doc/refman/en/spatial-geohash-functions.html#function_st-geohash>`__,
|
||||
`PostGIS <https://postgis.net/docs/ST_GeoHash.html>`__, SpatiaLite
|
||||
(LWGEOM/RTTOPO)
|
||||
|
||||
|
@ -374,7 +374,7 @@ intersection between them.
|
|||
.. class:: IsValid(expr)
|
||||
|
||||
*Availability*: `MySQL
|
||||
<https://dev.mysql.com/doc/refman/en/spatial-convenience-functions.html#function_st-isvalid>`__ (≥ 5.7.5),
|
||||
<https://dev.mysql.com/doc/refman/en/spatial-convenience-functions.html#function_st-isvalid>`__,
|
||||
`PostGIS <https://postgis.net/docs/ST_IsValid.html>`__, Oracle, SpatiaLite
|
||||
|
||||
Accepts a geographic field or expression and tests if the value is well formed.
|
||||
|
|
|
@ -351,8 +351,8 @@ SpatiaLite ``Intersects(poly, geom)``
|
|||
``isvalid``
|
||||
-----------
|
||||
|
||||
*Availability*: MySQL (≥ 5.7.5), `PostGIS
|
||||
<https://postgis.net/docs/ST_IsValid.html>`__, Oracle, SpatiaLite
|
||||
*Availability*: MySQL, `PostGIS <https://postgis.net/docs/ST_IsValid.html>`__,
|
||||
Oracle, SpatiaLite
|
||||
|
||||
Tests if the geometry is valid.
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ supported versions, and any notes for each of the supported database backends:
|
|||
Database Library Requirements Supported Versions Notes
|
||||
================== ============================== ================== =========================================
|
||||
PostgreSQL GEOS, GDAL, PROJ, PostGIS 12+ Requires PostGIS.
|
||||
MySQL GEOS, GDAL 5.7+ :ref:`Limited functionality <mysql-spatial-limitations>`.
|
||||
MySQL GEOS, GDAL 8+ :ref:`Limited functionality <mysql-spatial-limitations>`.
|
||||
Oracle GEOS, GDAL 19+ XE not supported.
|
||||
SQLite GEOS, GDAL, PROJ, SpatiaLite 3.9.0+ Requires SpatiaLite 4.3+
|
||||
================== ============================== ================== =========================================
|
||||
|
|
|
@ -352,7 +352,7 @@ MySQL notes
|
|||
Version support
|
||||
---------------
|
||||
|
||||
Django supports MySQL 5.7 and higher.
|
||||
Django supports MySQL 8 and higher.
|
||||
|
||||
Django's ``inspectdb`` feature uses the ``information_schema`` database, which
|
||||
contains detailed data on all database schemas.
|
||||
|
@ -535,11 +535,10 @@ Several other `MySQLdb connection options`_ may be useful, such as ``ssl``,
|
|||
Setting ``sql_mode``
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
From MySQL 5.7 onward, the default value of the ``sql_mode`` option contains
|
||||
``STRICT_TRANS_TABLES``. That option escalates warnings into errors when data
|
||||
are truncated upon insertion, so Django highly recommends activating a
|
||||
`strict mode`_ for MySQL to prevent data loss (either ``STRICT_TRANS_TABLES``
|
||||
or ``STRICT_ALL_TABLES``).
|
||||
The default value of the ``sql_mode`` option contains ``STRICT_TRANS_TABLES``.
|
||||
That option escalates warnings into errors when data are truncated upon
|
||||
insertion, so Django highly recommends activating a `strict mode`_ for MySQL to
|
||||
prevent data loss (either ``STRICT_TRANS_TABLES`` or ``STRICT_ALL_TABLES``).
|
||||
|
||||
.. _strict mode: https://dev.mysql.com/doc/refman/en/sql-mode.html#sql-mode-strict
|
||||
|
||||
|
|
|
@ -1200,8 +1200,8 @@ A field for storing JSON encoded data. In Python the data is represented in its
|
|||
Python native format: dictionaries, lists, strings, numbers, booleans and
|
||||
``None``.
|
||||
|
||||
``JSONField`` is supported on MariaDB, MySQL 5.7.8+, Oracle, PostgreSQL, and
|
||||
SQLite (with the :ref:`JSON1 extension enabled <sqlite-json1>`).
|
||||
``JSONField`` is supported on MariaDB, MySQL, Oracle, PostgreSQL, and SQLite
|
||||
(with the :ref:`JSON1 extension enabled <sqlite-json1>`).
|
||||
|
||||
.. attribute:: JSONField.encoder
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue