| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- """Independent, feature-gated mobile stop snapshots; existing table SELECTs are unchanged."""
- from datetime import datetime
- from sqlalchemy import Column, DateTime, Index, Integer, SmallInteger, String
- from app.core.database import Base
- class PlPlanStopProductMeta(Base):
- __tablename__ = 'pl_plan_stop_product_meta'
- __table_args__ = (Index('ix_pl_stop_meta_scope', 'tenant_no', 'plan_id', 'del_flag'),
- Index('ix_pl_stop_meta_row', 'tenant_no', 'stop_type', 'stop_product_id'))
- id = Column(String(64), primary_key=True)
- plan_id = Column(String(64), nullable=False, default='')
- stop_type = Column(String(16), nullable=False, default='')
- stop_id = Column(String(64), nullable=False, default='')
- stop_product_id = Column(String(64), nullable=False, default='')
- contract_id = Column(String(64), nullable=False, default='')
- contract_product_id = Column(String(64), nullable=False, default='')
- product_id = Column(String(64), nullable=False, default='')
- package_spec = Column(String(200), nullable=False, default='')
- model = Column(String(100), nullable=False, default='')
- unit = Column(String(20), nullable=False, default='')
- product_name = Column(String(200), nullable=False, default='')
- # No default: explicit None must persist as SQL NULL rather than an empty alias.
- alias_name = Column(String(200), nullable=True)
- brand_mode = Column(String(20), nullable=False, default='')
- brand_id = Column(String(64), nullable=False, default='')
- brand_name = Column(String(200), nullable=False, default='')
- source_product_name = Column(String(200), nullable=False, default='')
- source_brand_mode = Column(String(20), nullable=False, default='')
- source_brand_id = Column(String(64), nullable=False, default='')
- source_brand_name = Column(String(200), nullable=False, default='')
- tenant_no = Column(String(64), nullable=False)
- order_num = Column(Integer, nullable=True)
- remark = Column(String(512), nullable=True)
- create_by = Column(String(64), nullable=True)
- create_dept_id = Column(String(64), nullable=False, default='')
- create_time = Column(DateTime, nullable=False, default=datetime.now)
- update_by = Column(String(64), nullable=True)
- update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now)
- del_flag = Column(SmallInteger, nullable=False, default=0)
|