summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2015-02-05 16:17:23 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2015-02-05 16:24:45 -0500
commit503a40ad7080344f75cf3347197c44b574c60a9c (patch)
tree320c14960706d60c08e0b66c0160c007207c976b /doc
parent068f9a1531c8114360d5fcd964c27fe6a21f4679 (diff)
downloadsqlalchemy-503a40ad7080344f75cf3347197c44b574c60a9c.tar.gz
- The MySQL dialect now renders TIMESTAMP with NULL / NOT NULL in
all cases, so that MySQL 5.6.6 with the ``explicit_defaults_for_timestamp`` flag enabled will will allow TIMESTAMP to continue to work as expected when ``nullable=False``. Existing applications are unaffected as SQLAlchemy has always emitted NULL for a TIMESTAMP column that is ``nullable=True``. fixes #3155
Diffstat (limited to 'doc')
-rw-r--r--doc/build/changelog/changelog_10.rst19
-rw-r--r--doc/build/changelog/migration_10.rst23
2 files changed, 42 insertions, 0 deletions
diff --git a/doc/build/changelog/changelog_10.rst b/doc/build/changelog/changelog_10.rst
index 89ef86844..ca0ae4d52 100644
--- a/doc/build/changelog/changelog_10.rst
+++ b/doc/build/changelog/changelog_10.rst
@@ -1,4 +1,5 @@
+
==============
1.0 Changelog
==============
@@ -23,6 +24,24 @@
on compatibility concerns, see :doc:`/changelog/migration_10`.
.. change::
+ :tags: feature, mysql
+ :tickets: 3155
+
+ The MySQL dialect now renders TIMESTAMP with NULL / NOT NULL in
+ all cases, so that MySQL 5.6.6 with the
+ ``explicit_defaults_for_timestamp`` flag enabled will
+ will allow TIMESTAMP to continue to work as expected when
+ ``nullable=False``. Existing applications are unaffected as
+ SQLAlchemy has always emitted NULL for a TIMESTAMP column that
+ is ``nullable=True``.
+
+ .. seealso::
+
+ :ref:`change_3155`
+
+ :ref:`mysql_timestamp_null`
+
+ .. change::
:tags: bug, schema
:tickets: 3299, 3067
diff --git a/doc/build/changelog/migration_10.rst b/doc/build/changelog/migration_10.rst
index 3ba0743f7..efb4b26e5 100644
--- a/doc/build/changelog/migration_10.rst
+++ b/doc/build/changelog/migration_10.rst
@@ -1817,6 +1817,29 @@ Support for the pypy psycopg2cffi dialect is added.
Dialect Improvements and Changes - MySQL
=============================================
+.. _change_3155:
+
+MySQL TIMESTAMP Type now renders NULL / NOT NULL in all cases
+--------------------------------------------------------------
+
+The MySQL dialect has always worked around MySQL's implicit NOT NULL
+default associated with TIMESTAMP columns by emitting NULL for
+such a type, if the column is set up with ``nullable=True``. However,
+MySQL 5.6.6 and above features a new flag
+`explicit_defaults_for_timestamp <http://dev.mysql.com/doc/refman/
+5.6/en/server-system-variables.html
+#sysvar_explicit_defaults_for_timestamp>`_ which repairs MySQL's non-standard
+behavior to make it behave like any other type; to accommodate this,
+SQLAlchemy now emits NULL/NOT NULL unconditionally for all TIMESTAMP
+columns.
+
+.. seealso::
+
+ :ref:`mysql_timestamp_null`
+
+:ticket:`3155`
+
+
.. _change_3283:
MySQL SET Type Overhauled to support empty sets, unicode, blank value handling