Source code for changes.models.itemstat
from uuid import uuid4
from sqlalchemy import Column, String, Integer
from sqlalchemy.schema import UniqueConstraint
from changes.config import db
from changes.db.types.guid import GUID
from changes.db.utils import model_repr
[docs]class ItemStat(db.Model):
"""
Also a key/value table, tailored towards statistics generated
by tests and code coverage. Examples: test_rerun_count,
test_duration, lines_covered
"""
__tablename__ = 'itemstat'
__table_args__ = (
UniqueConstraint('item_id', 'name', name='unq_itemstat_name'),
)
id = Column(GUID, primary_key=True, default=uuid4)
item_id = Column(GUID, nullable=False)
name = Column(String(64), nullable=False)
value = Column(Integer, nullable=False)
__repr__ = model_repr('item_id', 'name', 'value')
def __init__(self, **kwargs):
super(ItemStat, self).__init__(**kwargs)
if self.id is None:
self.id = uuid4()