diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-02-01 16:25:31 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-02-01 17:00:42 -0500 |
commit | 388d8db68d0db6f38e72d60386023c9eef263034 (patch) | |
tree | 1deae94a0a2c8ac4a066da157ee6c36ecfc409ce /lib/sqlalchemy/events.py | |
parent | 9a5943bf76cd436484a85a6d9478507c9bac3b08 (diff) | |
download | sqlalchemy-388d8db68d0db6f38e72d60386023c9eef263034.tar.gz |
Accept FetchedValue, text() for column "default" value
Fixed bug whereby the :meth:`.DDLEvents.column_reflect` event would not
allow a non-textual expression to be passed as the value of the
"default" for the new column, such as a :class:`.FetchedValue`
object to indicate a generic triggered default or a
:func:`.sql.expression.text` construct. Clarified the documentation
in this regard as well.
Fixes: #3905
Change-Id: I829796c3e9f87f375149bebee7eef133a6876d4d
Diffstat (limited to 'lib/sqlalchemy/events.py')
-rw-r--r-- | lib/sqlalchemy/events.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/lib/sqlalchemy/events.py b/lib/sqlalchemy/events.py index 2ed44f5dd..7aa30015c 100644 --- a/lib/sqlalchemy/events.py +++ b/lib/sqlalchemy/events.py @@ -178,7 +178,29 @@ class DDLEvents(event.Events): The dictionary of column information as returned by the dialect is passed, and can be modified. The dictionary is that returned in each element of the list returned - by :meth:`.reflection.Inspector.get_columns`. + by :meth:`.reflection.Inspector.get_columns`: + + * ``name`` - the column's name + + * ``type`` - the type of this column, which should be an instance + of :class:`~sqlalchemy.types.TypeEngine` + + * ``nullable`` - boolean flag if the column is NULL or NOT NULL + + * ``default`` - the column's server default value. This is + normally specified as a plain string SQL expression, however the + event can pass a :class:`.FetchedValue`, :class:`.DefaultClause`, + or :func:`.sql.expression.text` object as well. + + .. versionchanged:: 1.1.6 + + The :meth:`.DDLEvents.column_reflect` event allows a non + string :class:`.FetchedValue`, + :func:`.sql.expression.text`, or derived object to be + specified as the value of ``default`` in the column + dictionary. + + * ``attrs`` - dict containing optional column attributes The event is called before any action is taken against this dictionary, and the contents can be modified. |