Files
shanxia2.0/backend/app/models/pl_mobile_stop_meta.py
T
2026-10-23 23:07:00 +08:00

41 lines
2.4 KiB
Python

"""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)