On 02/01/2017 01:54 PM, [email protected] wrote:
It doesn't appear that the "default" column_info field allows for
anything other than a generic default. I currently have the following
event handler:
|
@event.listens_for(Table,'column_reflect')
def_set_fetched_value_for_triggered_columns(inspector,table,column_info):
ifcolumn_info['name']in('current_version_num','version_num'):
column_info['default']=FetchedValue()
|
and am getting the following failure on reflection:
bind parameter names, add them
# to the list of bindparams
self.text =self._bind_params_regex.sub(repl,text)
E TypeError:expected stringorbuffer
<local-path>/lib/python2.7/site-packages/sqlalchemy/sql/elements.py:1238:TypeError
|
Looking at the code
<https://bitbucket.org/zzzeek/sqlalchemy/src/9a5943bf76cd436484a85a6d9478507c9bac3b08/lib/sqlalchemy/engine/reflection.py?at=master&fileviewer=file-view-default#reflection.py-652>
it
explicitly wraps it in a text object. Thoughts?
this is
https://bitbucket.org/zzzeek/sqlalchemy/issues/3905/column_reflect-cant-allow-non-textual
review is pending at https://gerrit.sqlalchemy.org/#/c/305/
Thanks,
Derek
On Wednesday, February 1, 2017 at 8:20:34 AM UTC-8, Mike Bayer wrote:
you would use the column_reflect event and set the value of the
"default" in the given dictionary to be your FetchedValue object.
On 01/31/2017 05:06 PM, [email protected] <javascript:> wrote:
> I am attempting to reflect an existing PostgreSQL database that has
> triggers setting a version_num column. Reading the docs SQLAlchemy
needs
> to be told the the value is a FetchedValue(), however there is no
way to
> do this via the the "column_reflect" event handler. I also
attempted to
> manually define the column on the table but it then excludes the
column
> from the entire reflection process. Is there any other way to do
this or
> can 'server_default' be added to the list of allowed column_info
keys?
>
> Thanks,
> Derek
>
> --
> SQLAlchemy -
> The Python SQL Toolkit and Object Relational Mapper
>
> http://www.sqlalchemy.org/
>
> To post example code, please provide an MCVE: Minimal, Complete, and
> Verifiable Example. See http://stackoverflow.com/help/mcve
<http://stackoverflow.com/help/mcve> for a full
> description.
> ---
> You received this message because you are subscribed to the Google
> Groups "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it,
send
> an email to [email protected] <javascript:>
> <mailto:[email protected] <javascript:>>.
> To post to this group, send email to [email protected]
<javascript:>
> <mailto:[email protected] <javascript:>>.
> Visit this group at https://groups.google.com/group/sqlalchemy
<https://groups.google.com/group/sqlalchemy>.
> For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper
http://www.sqlalchemy.org/
To post example code, please provide an MCVE: Minimal, Complete, and
Verifiable Example. See http://stackoverflow.com/help/mcve for a full
description.
---
You received this message because you are subscribed to the Google
Groups "sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.
--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper
http://www.sqlalchemy.org/
To post example code, please provide an MCVE: Minimal, Complete, and Verifiable
Example. See http://stackoverflow.com/help/mcve for a full description.
---
You received this message because you are subscribed to the Google Groups "sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.