diff options
Diffstat (limited to 'examples/elementtree/pickle.py')
-rw-r--r-- | examples/elementtree/pickle.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/examples/elementtree/pickle.py b/examples/elementtree/pickle.py index 4eaaa2f8d..5e53e6798 100644 --- a/examples/elementtree/pickle.py +++ b/examples/elementtree/pickle.py @@ -8,14 +8,14 @@ styles of persistence are identical, as is the structure of the main Document cl from sqlalchemy import (create_engine, MetaData, Table, Column, Integer, String, PickleType) -from sqlalchemy.orm import mapper, create_session +from sqlalchemy.orm import mapper, Session import sys, os from xml.etree import ElementTree -engine = create_engine('sqlite://') -meta = MetaData(engine) +e = create_engine('sqlite://') +meta = MetaData() # setup a comparator for the PickleType since it's a mutable # element. @@ -30,7 +30,7 @@ documents = Table('documents', meta, Column('element', PickleType(comparator=are_elements_equal)) ) -meta.create_all() +meta.create_all(e) # our document class. contains a string name, # and the ElementTree root element. @@ -49,12 +49,11 @@ filename = os.path.join(os.path.dirname(__file__), "test.xml") doc = ElementTree.parse(filename) # save to DB -session = create_session() +session = Session(e) session.add(Document("test.xml", doc)) -session.flush() +session.commit() -# clear session (to illustrate a full load), restore -session.expunge_all() +# restore document = session.query(Document).filter_by(filename="test.xml").first() # print |