From 5a1f3fd19e7a0378f4345d00bb61216b5dc8f934 Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Mon, 30 Aug 2010 19:00:04 +0000 Subject: Kickoff --- db.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 db.py (limited to 'db.py') diff --git a/db.py b/db.py new file mode 100644 index 0000000..5e13924 --- /dev/null +++ b/db.py @@ -0,0 +1,40 @@ +import sqlalchemy +from sqlalchemy import * +from sqlalchemy.orm import sessionmaker + +def setupdb(): + #engine = create_engine('sqlite:///Users/erdgeist/Coding/tinybill/foo.db', echo=True) + engine = create_engine('sqlite:///foo.db', echo=True) + metadata = MetaData() + + Table( 'customers', metadata, + Column( 'id', Integer, primary_key=True ), + Column( 'name', String, unique=True ), + Column( 'email', String ) + ) + + Table( 'products', metadata, + Column( 'id', Integer, primary_key=True ), + Column( 'type', String ), + Column( 'name', String, unique=True ), + Column( 'price', Integer ), + ) + + Table( 'purchases', metadata, + Column( 'id', Integer, primary_key=True ), + Column( 'product', Integer, ForeignKey('products.id' ) ), + Column( 'customer', Integer, ForeignKey('customers.id' ) ), + Column( 'detail', String ), + Column( 'date', Date ) + ) + + Table( 'payment', metadata, + Column( 'id', Integer, primary_key=True ), + Column( 'purchase', Integer, ForeignKey('purchases.id') ), + Column( 'amount', Integer ), + Column( 'date', Date ) + ) + + metadata.create_all(engine) + global Session + Session = sessionmaker(bind=engine) -- cgit v1.2.3