Select Git revision
Forked from
SOFT Core / SOFT 161 and 162 / Testability Examples
1 commit behind the upstream repository.
-
Brady James Garvin authoredBrady James Garvin authored
values.py 926 B
from sqlalchemy import create_engine, Column, Integer, Float
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Persisted = declarative_base()
class Value(Persisted):
__tablename__ = 'values'
value_id = Column(Integer, primary_key=True)
value = Column(Float)
class ValueDatabase(object):
@staticmethod
def construct_mysql_url(authority, port, database, username, password):
return f'mysql+mysqlconnector://{username}:{password}@{authority}:{port}/{database}'
@staticmethod
def construct_in_memory_url():
return 'sqlite:///'
def __init__(self, url):
self.engine = create_engine(url)
self.Session = sessionmaker()
self.Session.configure(bind=self.engine)
def ensure_tables_exist(self):
Persisted.metadata.create_all(self.engine)
def create_session(self):
return self.Session()