On Aug 9, 2009, at 1:24 PM, allen.fowler wrote:
> So, just to clarify:
>
> At this point in time, can SQLAlchemy be used to define and query
> simple VIEWs in a database agnostic manner?
>
> And if not, is this a feature that is slated for addition any time
> soon?
CREATE VIEW is almost identical across backends and can be achieved
like this:
someselect = select([table.c.foo, table.c.bar])
eng = create_engine('...')
eng.execute("CREATE VIEW foobar AS %s" % someselect.compile(eng))
then build yourself a Table with columns representing the view.
its easy enough to build a CreateView DDL() construct in 0.6 to do
this, i.e.
eng.execute(CreateView("myview", someselect))
I'd consult the sqlalchemy.ext.compiler docs for how to do this.
as a builtin I'm uncomfortable since it implies adding a View() object
to schema which raises lots of thorny questions like "what if I
construct an INSERT against the view ?" " what about materialized
views?" , "what if I join my View() to the underlying Table() ?" etc.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---