Please disregard what I suggested. I must have some mentality problems but I completely missed part about table being already reflected. In that case all events have already happened and my suggestion does not make any sense.
On Thursday, August 1, 2013 4:25:11 PM UTC-4, tiadobatima wrote: > > Hi Askel... > > What I'd like to accomplish is to add few more attributes and methods to > Table (or maybe override "insert/update/delete/select") to do post > processing of the Result/Row proxies and return them in different formats > such as json, yaml, xml, etc... so, while you suggestion is really neat, > I'm not sure it's enough to do what I want... Is it? > > I could create my metadata obj from a bunch of extended Table object > instead of populating it from reflection, but I feel its a lot nicer to use > the real DB schema as the source for the metadata (thru reflection), than > trusting the table definitions in code to correspond exactly with the DB > schema. I have a hard time trusting that nobody will ever run an alter > table out-of-band, and not update the definitions... hehehe > > Thanks! > g. > > > On Thu, Aug 1, 2013 at 5:35 AM, askel <[email protected] <javascript:>>wrote: > >> There is "column_reflect" event triggered for each column during table >> reflection. Most likely your extra functionality depends on some columns so >> I'd look at something like: >> >> >> from sqlalchemy.event import listens_for >> >> >> columns_to_reflect = set(('id', 'name', 'real_name', >> 'really_real_name')) >> >> @listens_for(my_table, 'column_reflect'): >> def column_reflected(inspector, table, column_info): >> columns_to_reflect.remove(column_info['name']) >> if not columns_to_reflect: >> do_my_dirty_job(table) >> >> It does not help to have no "table_reflected" event though. May be this >> should become a feature request. >> >> >> On Wednesday, July 31, 2013 1:34:46 PM UTC-4, tiadobatima wrote: >>> >>> Hello there, >>> >>> When this application starts, we reflect the DB into a MetaData() object >>> and this is made available for everyone to use. >>> I'd like to add a few more methods to the table objects within that >>> MetaData(). Is there any easy way to extend these already >>> instantiated sqlalchemy.**schema.Table objects? >>> >>> Thanks! :) >>> >>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "sqlalchemy" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/sqlalchemy/EoTA-H1s-bQ/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/sqlalchemy. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- 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 http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out.
