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 sqlalchemy@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---