summaryrefslogtreecommitdiff
path: root/examples/adjacencytree/tables.py
blob: 4c897fa8b264738d94199288e70a7a5529e64751 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from sqlalchemy.schema import *
import sqlalchemy.engine

engine = sqlalchemy.engine.create_engine('sqlite', ':memory:', {}, 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, 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()