summaryrefslogtreecommitdiff
path: root/examples/elementtree/pickle.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/elementtree/pickle.py')
-rw-r--r--examples/elementtree/pickle.py15
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