On Jul 2, 2008, at 3:20 PM, andres wrote:

>
> Hi,
>
> I'm just starting out with SQLAlchemy and I encountered some
> unexpected behavior with autoflush and mysql. I expected that setting
> autoflush=True would force a flush after every DB call. However, it
> seems that a flush isn't happening automatically on an add/delete.
>
> Here is my test script:
> ##
> mysqlflush.py
> import sqlalchemy as sa
> from sqlalchemy import orm
>
> metadata = sa.MetaData()
>
> tmptable_table = sa.Table('TmpTable', metadata,
>                          sa.Column('id', sa.types.Integer,
> primary_key=True),
>                          sa.Column('val', sa.types.String(100),
> nullable=False)
>                          )
>
> class TmpTable(object):
>    def __init__(self,val):
>       self.val = val
>
> orm.mapper(TmpTable, tmptable_table)
>
> engine = sa.create_engine('mysql://user:[EMAIL PROTECTED]:3306/
> test_db',     echo=True)
> metadata.create_all(engine)
> Session = orm.sessionmaker(bind=engine, autoflush=True,
> transactional=True)()
>
> for i in range(0,100,1):
>    Session.save_or_update(TmpTable(val='blah'))
>
>
>
> The results of running the test script are:
> mysql> select * from test_db.TmpTable;
> Empty set (0.00 sec)
>


the session flushes on every commit(), and when autoflush=True on  
every Query execution as well.



--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to