数据:增加测试批次模型与迁移契约
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import CHAR, BigInteger, CheckConstraint, Column, DateTime, ForeignKey, String, Text
|
||||
|
||||
from config.database import Base
|
||||
|
||||
|
||||
class BizTestBatch(Base):
|
||||
"""测试数据批次。"""
|
||||
|
||||
__tablename__ = 'biz_test_batch'
|
||||
__table_args__ = (
|
||||
CheckConstraint("status IN ('ACTIVE', 'CLOSED', 'PURGED')", name='ck_biz_test_batch_status'),
|
||||
CheckConstraint(
|
||||
"preview_action IS NULL OR preview_action IN ('ADOPT', 'PURGE')",
|
||||
name='ck_biz_test_batch_preview_action',
|
||||
),
|
||||
{'comment': '测试数据批次'},
|
||||
)
|
||||
|
||||
batch_id = Column(BigInteger, primary_key=True, autoincrement=True)
|
||||
batch_code = Column(String(64), nullable=False, unique=True)
|
||||
batch_name = Column(String(100), nullable=False)
|
||||
status = Column(String(16), nullable=False, server_default='ACTIVE')
|
||||
create_by = Column(String(64), nullable=False, server_default='')
|
||||
create_time = Column(DateTime, nullable=False, default=datetime.now)
|
||||
update_by = Column(String(64), nullable=False, server_default='')
|
||||
update_time = Column(DateTime, nullable=False, default=datetime.now)
|
||||
closed_by = Column(BigInteger, ForeignKey('sys_user.user_id'), nullable=True)
|
||||
closed_at = Column(DateTime, nullable=True)
|
||||
purged_by = Column(BigInteger, ForeignKey('sys_user.user_id'), nullable=True)
|
||||
purged_at = Column(DateTime, nullable=True)
|
||||
purge_summary = Column(Text, nullable=True)
|
||||
preview_action = Column(String(16), nullable=True)
|
||||
preview_token_hash = Column(CHAR(64), nullable=True)
|
||||
preview_scope_hash = Column(CHAR(64), nullable=True)
|
||||
preview_expires_at = Column(DateTime, nullable=True)
|
||||
remark = Column(String(500), nullable=True)
|
||||
|
||||
|
||||
class BizTestBatchUser(Base):
|
||||
"""测试数据批次与用户关联。"""
|
||||
|
||||
__tablename__ = 'biz_test_batch_user'
|
||||
|
||||
batch_id = Column(BigInteger, ForeignKey('biz_test_batch.batch_id'), primary_key=True)
|
||||
user_id = Column(BigInteger, ForeignKey('sys_user.user_id'), primary_key=True)
|
||||
create_by = Column(String(64), nullable=False, server_default='')
|
||||
create_time = Column(DateTime, nullable=False, default=datetime.now)
|
||||
Reference in New Issue
Block a user