-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb.py
27 lines (20 loc) · 1.06 KB
/
db.py
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
from config import db
from sqlalchemy import create_engine, Column, String, Integer, Boolean
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session
Base = declarative_base()
engine = create_engine(db.uri, convert_unicode=True, pool_recycle=280)
session = scoped_session(sessionmaker(expire_on_commit=False, autocommit=False, autoflush=False, bind=engine))
class Transaction(Base):
__tablename__ = 'transactions'
id = Column(Integer, primary_key=True)
email = Column(String(length=255))
paypal_transaction_id = Column(String(length=255), unique=True)
invoice = Column(String(length=255), unique=True)
payment_status = Column(String(length=255))
downloads = Column(Integer, default=0)
def __repr__(self):
return "<Transaction(id={}, email='{}', paypal_transaction_id='{}', invoice='{}', payment_status={}, downloads={})>".format(self.id, self.email, self.paypal_transaction_id, self.invoice, self.payment_status, self.downloads)
def initDB():
Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)