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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
from sqlalchemy.orm import mapper
from sqlalchemy.orm import sessionmaker
# engine = create_engine('sqlite:///:memory:', echo=True)
engine = create_engine('postgres://mmccune:mmccune@127.0.0.1:5432/candlepin')
metadata = MetaData()
org_table = Table('org', metadata,
Column('uuid', String, primary_key=True),
Column('name', String))
entitlement_table = Table('entitlement', metadata,
Column('uuid', String, primary_key=True),
Column('name', String),
Column('org', String, ForeignKey('org.uuid')),
Column('parent', String, ForeignKey('entitlement.uuid')))
consumer_table = Table('consumer', metadata,
Column('uuid', String, primary_key=True),
Column('name', String),
Column('type', String),
Column('org', String, ForeignKey('org.uuid')),
Column('parent', String, ForeignKey('consumer.uuid')))
product_definition_table = Table('product_definition', metadata,
Column('uuid', String, primary_key=True),
Column('name', String))
entitlement_pool_table = Table('entitlement_pool', metadata,
Column('uuid', String, primary_key=True),
Column('name', String),
Column('org', String, ForeignKey('org.uuid')),
Column('product_definition', String, ForeignKey('product_definition.uuid')))
metadata.create_all(engine)
class Org(object):
def __init__(self, uuid, name):
self.uuid = uuid
self.name = name
def __repr__(self):
return "<Org('%s','%s')>" % (self.uuid, self.name)
mapper(Org, org_table)
Session = sessionmaker(bind=engine)
session = Session()
org1 = Org('289489090234', 'test org')
session.add(org1)
lookedup = session.query(Org).filter_by(name='test org').first()
print lookedup.uuid
|