from datetime import datetime from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey, UniqueConstraint from ..database import Base class BlockConfig(Base): __tablename__ = "block_config" __table_args__ = ( UniqueConstraint("template_id", "block_id", name="uq_template_block"), ) id = Column(Integer, primary_key=True, autoincrement=True) template_id = Column(Integer, ForeignKey("template.id", ondelete="CASCADE"), nullable=False) block_id = Column(String(50), nullable=False) region_name = Column(String(200), nullable=True, comment="区域名称") region_type = Column(String(30), default="ai_generate", comment="ai_generate/manual/fixed/table") data_sources = Column(Text, nullable=True, comment="数据来源 JSON 数组") prompt = Column(Text, nullable=True, comment="提示词") output_format = Column(String(30), default="formal_paragraph", comment="输出格式") need_review = Column(Integer, default=1, comment="1=需要审核") remark = Column(Text, nullable=True, comment="备注") enabled = Column(Integer, default=1, comment="1=启用") created_at = Column(DateTime, default=datetime.now) updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)