On Jun 17, 11:12 am, Michael Bayer <[EMAIL PROTECTED]> wrote:
> On Jun 17, 10:36 am, Hans <[EMAIL PROTECTED]> wrote:
>
>
>
> > I'm not sure I completely understand what's going on, so I apologize
> > is this is obvious use error :)
>
> > I'm trying to add to the create_all() method (by wrapping in my own
> > method) for some custom SQL to be executed after the basic
> > metadata.create_all() method is finished.
>
> > More specifically, I have something like this:
>
> > def create_all(metadata, engine):
> > metadata.create_all(engine)
> > s = Session()
> > s.begin()
> > engine.func.AddGeometryColumn('mytable', 'geo_col', 4326, 'POINT',
> > 2).execute()
> > s.commit()
>
> what's going on here is that the Session's transaction has no
> interaction with the call to engine.func.XXX().execute(). There is no
> thread-local context in progress by default. Additionally, the
> specific call you are making, "AddGeometryColumn", is not recognized
> by SQLA as an "autocommit" phrase so even the engine.execute() does
> not issue its own COMMIT.
>
> Your above app would work if you instead bound the Session to the
> engine (Session(bind=engine)) and used Session.execute(). Its a
> little weird to use a Session here at all since no ORM functionality
> is needed and I'd opt instead to use a Connection/Transaction combo,
> but even better in this specific case is to use a DDL() construct,
> which will execute automatically after a table create:
>
> http://www.sqlalchemy.org/docs/04/sqlalchemy_schema.html#docstrings_s...
Thanks so much for the reply! -- I think I understand and I agree
that an ORM transaction is probably not necessary here at all. I
*just* finished reading the Transaction page and now I understand that
distinction. I'll use a connection directly.
Thanks again -
Hans
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---