blob: 1a35a38e17dafecae9d9ffb888394f6239b2b03d [file] [log] [blame]
TRM-codingd1cbf672025-06-18 15:15:08 +08001from . import Base
2from sqlalchemy import Column, Integer, String, Text, Enum, TIMESTAMP
3from sqlalchemy.sql import func
4
5class Topic(Base):
6 __tablename__ = 'topics'
7 __table_args__ = {
8 'mysql_engine': 'InnoDB',
9 'mysql_charset': 'utf8mb4',
10 'mysql_collate': 'utf8mb4_general_ci',
11 'comment': '话题/超话表'
12 }
13
14 id = Column(Integer, primary_key=True, autoincrement=True, comment='话题ID')
15 name = Column(String(100, collation='utf8mb4_general_ci'), nullable=False, unique=True, comment='话题名称')
16 description = Column(Text(collation='utf8mb4_general_ci'), comment='话题描述')
17 status = Column(
18 Enum('active', 'archived', name='topic_status', collation='utf8mb4_general_ci'),
19 default='active',
20 comment='状态'
21 )
22 created_at = Column(
23 TIMESTAMP,
24 server_default=func.current_timestamp(),
25 comment='创建时间'
26 )