35 lines
1.6 KiB
Python
35 lines
1.6 KiB
Python
from sqlalchemy import BigInteger, Column, SmallInteger, String, TIMESTAMP, Text, text
|
|
from sqlalchemy.dialects.postgresql import JSONB
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
|
|
from common.sqlSession import to_dict
|
|
|
|
Base = declarative_base()
|
|
Base.to_dict = to_dict
|
|
|
|
|
|
class Report(Base):
|
|
__tablename__ = 'report'
|
|
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
|
|
plan_id = Column(BigInteger, nullable=False, comment='计划id')
|
|
project_id = Column(BigInteger, nullable=False, comment='项目id')
|
|
product_id = Column(BigInteger, nullable=False, comment='产品id')
|
|
name = Column(String(128), nullable=False, comment='报告名称')
|
|
report_type = Column(SmallInteger, default=1, comment='1:实时报告 2:归档报告')
|
|
summary = Column(JSONB, comment='统计数据')
|
|
content = Column(Text, comment='HTML内容')
|
|
file_url = Column(String(512), comment='文件地址')
|
|
generated_by = Column(BigInteger, comment='生成人')
|
|
generated_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='生成时间')
|
|
|
|
|
|
class DefectSync(Base):
|
|
__tablename__ = 'defect_sync'
|
|
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
|
|
project_id = Column(BigInteger, nullable=False, comment='项目id')
|
|
external_id = Column(String(64), nullable=False, comment='外部缺陷id')
|
|
external_system = Column(String(32), comment='外部系统')
|
|
plan_case_id = Column(BigInteger, comment='计划用例id')
|
|
status = Column(String(32), comment='外部状态')
|
|
last_sync_time = Column(TIMESTAMP, comment='最后同步时间')
|