Changeset 121
- Timestamp:
- 04/13/08 22:21:53 (5 months ago)
- Files:
-
- sucrose/trunk/python/mysql/db.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sucrose/trunk/python/mysql/db.py
r115 r121 1 from sqlalchemy import create_engine, Table, Column, Integer, Numeric, String, MetaData, ForeignKey 1 from sqlalchemy import create_engine, Table, Column, Integer, Numeric, String, \ 2 MetaData, ForeignKey 2 3 from sqlalchemy.databases.mysql import MSEnum, MSInteger 3 4 from sqlalchemy.ext.declarative import declarative_base … … 18 19 19 20 _vending = Table('vending', _acm_Base.metadata, 20 Column('uid', MSInteger(10, unsigned=True), ForeignKey(_users.c.uid), primary_key=True), 21 Column('uid', MSInteger(10, unsigned=True), 22 ForeignKey(_users.c.uid), primary_key=True), 21 23 Column('balance', Numeric)) 22 24 … … 45 47 46 48 _transactions = Table('vending_transactions', _acm_Base.metadata, 47 Column('transaction_id', Integer, primary_key=True, autoincrement=True), 48 Column('user_id', MSInteger(unsigned=True), ForeignKey(_users.c.uid)), 49 Column('transaction_id', Integer, primary_key=True, 50 autoincrement=True), 51 Column('user_id', MSInteger(unsigned=True), 52 ForeignKey(_users.c.uid)), 49 53 Column('item_id', Integer, ForeignKey(_items.c.item_id)), 50 54 Column('cost', Numeric(4, 2))) 51 55 52 56 class Vending(_acm_Base): __table__ = _vending 53 class User(object): balance = association_proxy('vending', 'balance') 54 mapper(User, _users, properties={'vending': relation(Vending, uselist=False, backref='user')}) 57 class User(_acm_Base): 58 __table__ = _users 59 vending = relation(Vending, uselist=False, backref='user') 60 balance = association_proxy('vending', 'balance') 55 61 56 62 class Item(_sucrose_Base): __table__ = _items 57 63 class Tray(object): num_consumed = association_proxy('item', 'num_consumed') 58 64 mapper(Tray, _trays, properties={'item': relation(Item, uselist=False)}) 59 class Transaction(object): item_name = association_proxy('item', 'name') 60 mapper(Transaction, _transactions, properties={'item': relation(Item, uselist=False)}) 65 class Transaction(_acm_Base): 66 __table__ = _transactions 67 user = relation(User, uselist=False) 68 item = relation(Item, uselist=False) 69 item_name = association_proxy('item', 'name') 61 70 62 71
