"""Database for project.""" import logging from sqlalchemy import Column, Integer, String, create_engine, DateTime from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker handler = logging.FileHandler('sqlalchemy.engine.log') handler.level = logging.DEBUG logging.getLogger('sqlalchemy.engine.base.Engine').addHandler(handler) DB_FILE = "sqlite:///db.sqlite" engine = create_engine(DB_FILE, echo=False) Base = declarative_base() class Message(Base): """Message from slack.""" __tablename__ = "message" id = Column(Integer, primary_key=True) iid = Column(String) type = Column(String) username = Column(String) text = Column(String) timestamp = Column(DateTime) # ---------------------------------------------------------------------- def __init__(self, iid, type, username, text, timestamp): """Create record.""" self.iid = iid self.type = type self.username = username self.text = text self.timestamp = timestamp def create_tables(): """Create tables.""" Base.metadata.create_all(engine) def get_session(): """Start a session.""" engine = create_engine(DB_FILE, echo=True) Session = sessionmaker(bind=engine) return Session()