summaryrefslogtreecommitdiff
path: root/docs/ref/databases.txt
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2016-04-06 21:25:55 +0200
committerClaude Paroz <claude@2xlibre.net>2016-04-08 20:34:27 +0200
commitb2aab09fe99b0e6e2e0357a7a794355a631c3039 (patch)
tree2cab0c0287318b3ca0a234cada18cef526c63f3f /docs/ref/databases.txt
parentf9a2a7db173b53f9cb0cd2d3def80d4eed72631c (diff)
Fixed #15940 -- Added MySQL note about strict SQL mode
Diffstat (limited to 'docs/ref/databases.txt')
-rw-r--r--docs/ref/databases.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index da87e7e6f4..b4fac24ce0 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -439,6 +439,24 @@ more details.
.. _MySQL option file: https://dev.mysql.com/doc/refman/5.6/en/option-files.html
.. _MySQLdb documentation: http://mysql-python.sourceforge.net/
+.. _mysql-sql-mode:
+
+Setting ``sql_mode``
+~~~~~~~~~~~~~~~~~~~~
+
+From MySQL 5.7 onwards and on fresh installs of MySQL 5.6, 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/5.7/en/sql-mode.html#sql-mode-strict
+
+If you need to customize the SQL mode, you can set the ``sql_mode`` variable
+like other MySQL options: either in a config file or with the entry
+``'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"`` in the
+:setting:`OPTIONS` part of your database configuration in :setting:`DATABASES`.
+
Creating your tables
--------------------