]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
moved tables into examples so basic_tree could be simplified
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 3 Jan 2006 00:30:37 +0000 (00:30 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 3 Jan 2006 00:30:37 +0000 (00:30 +0000)
examples/adjacencytree/basic_tree.py
examples/adjacencytree/byroot_tree.py
examples/adjacencytree/tables.py [deleted file]

index 0f1ff9b234070bda2760b1733991f09eb7767f8d..2439a3884cec5b9ad6c10d71b5c2441143222d18 100644 (file)
@@ -1,10 +1,24 @@
 from sqlalchemy import *
 import sqlalchemy.util as util
-import tables
 import string, sys
 
 """a basic Adjacency List model tree."""
 
+engine = create_engine('sqlite://', echo = True)
+#engine = sqlalchemy.engine.create_engine('mysql', {'db':'test', 'host':'127.0.0.1', 'user':'scott'}, echo=True)
+#engine = sqlalchemy.engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=True)
+#engine = sqlalchemy.engine.create_engine('oracle', {'dsn':os.environ['DSN'], 'user':os.environ['USER'], 'password':os.environ['PASSWORD']}, echo=True)
+
+
+"""create the treenodes table.  This is ia basic adjacency list model table."""
+
+trees = Table('treenodes', engine,
+    Column('node_id', Integer, Sequence('treenode_id_seq',optional=False), primary_key=True),
+    Column('parent_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
+    Column('node_name', String(50), nullable=False),
+    )
+
+
 class NodeList(util.OrderedDict):
     """extends an Ordered Dictionary, which is just a dictionary that returns its keys and values
     in order upon iteration.  Adds functionality to automatically associate 
@@ -46,14 +60,19 @@ class TreeNode(object):
 # define the mapper.  we will make "convenient" property
 # names vs. the more verbose names in the table definition
 
-assign_mapper(TreeNode, tables.trees, properties=dict(
-    id=tables.trees.c.node_id,
-    name=tables.trees.c.node_name,
-    parent_id=tables.trees.c.parent_node_id,
-    root_id=tables.trees.c.root_node_id,
-    children=relation(TreeNode, primaryjoin=tables.trees.c.parent_node_id==tables.trees.c.node_id, lazy=True, uselist=True, private=True),
+assign_mapper(TreeNode, trees, properties=dict(
+    id=trees.c.node_id,
+    name=trees.c.node_name,
+    parent_id=trees.c.parent_node_id,
+    children=relation(TreeNode, private=True),
 ))
 
+print "\n\n\n----------------------------"
+print "Creating Tree Table:"
+print "----------------------------"
+
+trees.create()
+
 node2 = TreeNode('node2')
 node2.append('subnode1')
 node = TreeNode('rootnode')
index 80768bd5c6af5c333a19a194f3560a608ce59bed..a66f11378ea89413f91636db15734c986d0dff38 100644 (file)
@@ -1,11 +1,35 @@
 from sqlalchemy import *
 import sqlalchemy.util as util
-import tables
 import string, sys, time
 
 """a more advanced example of basic_tree.py.  illustrates MapperExtension objects which
 add application-specific functionality to a Mapper object."""
 
+engine = create_engine('sqlite://', echo = True)
+#engine = sqlalchemy.engine.create_engine('mysql', {'db':'test', 'host':'127.0.0.1', 'user':'scott'}, echo=True)
+#engine = sqlalchemy.engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=True)
+#engine = sqlalchemy.engine.create_engine('oracle', {'dsn':os.environ['DSN'], 'user':os.environ['USER'], 'password':os.environ['PASSWORD']}, echo=True)
+
+"""create the treenodes table.  This is ia basic adjacency list model table.
+One additional column, "root_node_id", references a "root node" row and is used
+in the 'byroot_tree' example."""
+
+trees = Table('treenodes', engine,
+    Column('node_id', Integer, Sequence('treenode_id_seq',optional=False), primary_key=True),
+    Column('parent_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
+    Column('root_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
+    Column('node_name', String(50), nullable=False),
+    Column('data_ident', Integer, ForeignKey('treedata.data_id'))
+    )
+
+treedata = Table(
+    "treedata", engine, 
+    Column('data_id', Integer, primary_key=True),
+    Column('value', String(100), nullable=False)
+)
+    
+
+
 class NodeList(util.OrderedDict):
     """extends an Ordered Dictionary, which is just a dictionary that iterates its keys and values
     in the order they were inserted.  Adds an "append" method, which appends a node to the 
@@ -98,14 +122,23 @@ class TreeData(object):
     def __repr__(self):
         return "TreeData(%s, %s)" % (repr(self.id), repr(self.value))
 
-assign_mapper(TreeNode, tables.trees, properties=dict(
-    id=tables.trees.c.node_id,
-    name=tables.trees.c.node_name,
-    parent_id=tables.trees.c.parent_node_id,
-    root_id=tables.trees.c.root_node_id,
-    root=relation(TreeNode, primaryjoin=tables.trees.c.root_node_id==tables.trees.c.node_id, foreignkey=tables.trees.c.node_id, lazy=None, uselist=False),
-    children=relation(TreeNode, primaryjoin=tables.trees.c.parent_node_id==tables.trees.c.node_id, lazy=None, uselist=True, private=True),
-    data=relation(TreeData, tables.treedata, properties=dict(id=tables.treedata.c.data_id), private=True, lazy=False)
+
+print "\n\n\n----------------------------"
+print "Creating Tree Table:"
+print "----------------------------"
+
+treedata.create()    
+trees.create()
+
+
+assign_mapper(TreeNode, trees, properties=dict(
+    id=trees.c.node_id,
+    name=trees.c.node_name,
+    parent_id=trees.c.parent_node_id,
+    root_id=trees.c.root_node_id,
+    root=relation(TreeNode, primaryjoin=trees.c.root_node_id==trees.c.node_id, foreignkey=trees.c.node_id, lazy=None, uselist=False),
+    children=relation(TreeNode, primaryjoin=trees.c.parent_node_id==trees.c.node_id, lazy=None, uselist=True, private=True),
+    data=relation(TreeData, treedata, properties=dict(id=treedata.c.data_id), private=True, lazy=False)
     
 ), extension = TreeLoader())
 TreeNode.mapper
diff --git a/examples/adjacencytree/tables.py b/examples/adjacencytree/tables.py
deleted file mode 100644 (file)
index ed70946..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-from sqlalchemy import *
-import os
-
-engine = create_engine('sqlite', {'filename':':memory:'}, echo = True)
-#engine = sqlalchemy.engine.create_engine('mysql', {'db':'test', 'host':'127.0.0.1', 'user':'scott'}, echo=True)
-#engine = sqlalchemy.engine.create_engine('postgres', {'database':'test', 'host':'127.0.0.1', 'user':'scott', 'password':'tiger'}, echo=True)
-#engine = sqlalchemy.engine.create_engine('oracle', {'dsn':os.environ['DSN'], 'user':os.environ['USER'], 'password':os.environ['PASSWORD']}, echo=True)
-
-
-"""create the treenodes table.  This is ia basic adjacency list model table.
-One additional column, "root_node_id", references a "root node" row and is used
-in the 'byroot_tree' example."""
-
-trees = Table('treenodes', engine,
-    Column('node_id', Integer, Sequence('treenode_id_seq',optional=False), primary_key=True),
-    Column('parent_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
-    Column('root_node_id', Integer, ForeignKey('treenodes.node_id'), nullable=True),
-    Column('node_name', String(50), nullable=False),
-    Column('data_ident', Integer, ForeignKey('treedata.data_id'))
-    )
-
-treedata = Table(
-    "treedata", engine, 
-    Column('data_id', Integer, primary_key=True),
-    Column('value', String(100), nullable=False)
-)
-    
-print "\n\n\n----------------------------"
-print "Creating Tree Table:"
-print "----------------------------"
-
-treedata.create()    
-trees.create()
-
-