summaryrefslogtreecommitdiff
path: root/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'db.py')
-rw-r--r--db.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/db.py b/db.py
new file mode 100644
index 0000000..5e13924
--- /dev/null
+++ b/db.py
@@ -0,0 +1,40 @@
1import sqlalchemy
2from sqlalchemy import *
3from sqlalchemy.orm import sessionmaker
4
5def setupdb():
6 #engine = create_engine('sqlite:///Users/erdgeist/Coding/tinybill/foo.db', echo=True)
7 engine = create_engine('sqlite:///foo.db', echo=True)
8 metadata = MetaData()
9
10 Table( 'customers', metadata,
11 Column( 'id', Integer, primary_key=True ),
12 Column( 'name', String, unique=True ),
13 Column( 'email', String )
14 )
15
16 Table( 'products', metadata,
17 Column( 'id', Integer, primary_key=True ),
18 Column( 'type', String ),
19 Column( 'name', String, unique=True ),
20 Column( 'price', Integer ),
21 )
22
23 Table( 'purchases', metadata,
24 Column( 'id', Integer, primary_key=True ),
25 Column( 'product', Integer, ForeignKey('products.id' ) ),
26 Column( 'customer', Integer, ForeignKey('customers.id' ) ),
27 Column( 'detail', String ),
28 Column( 'date', Date )
29 )
30
31 Table( 'payment', metadata,
32 Column( 'id', Integer, primary_key=True ),
33 Column( 'purchase', Integer, ForeignKey('purchases.id') ),
34 Column( 'amount', Integer ),
35 Column( 'date', Date )
36 )
37
38 metadata.create_all(engine)
39 global Session
40 Session = sessionmaker(bind=engine)