diff --git a/backend/app/models/models.py b/backend/app/models/models.py index bcba704..d71d084 100644 --- a/backend/app/models/models.py +++ b/backend/app/models/models.py @@ -19,6 +19,7 @@ class User(Base): f99_90_id = Column(String(36), primary_key=True, default=generate_uuid) user_code = Column(String(10), unique=True, nullable=True, index=True) # 用户编码 f99_91_user_id = Column(String(36), unique=True, nullable=False, index=True) + # 修正:users表的f99_90_id是varchar f01_01_name = Column(String(255), unique=True, nullable=False, index=True) # username email = Column(String(255), unique=True, nullable=True, index=True) phone = Column(String(50), nullable=True) @@ -58,6 +59,7 @@ class Collection(Base): # f99 系统字段 f99_90_id = Column(String(36), primary_key=True, default=generate_uuid) f99_91_user_id = Column(String(36), ForeignKey("users.f99_90_id", ondelete="CASCADE"), nullable=False, index=True) + # 修正:users表的f99_90_id是varchar f99_92_created_at = Column(DateTime(timezone=True), server_default=func.now(), index=True) f99_93_updated_at = Column(DateTime(timezone=True), onupdate=func.now()) @@ -123,7 +125,9 @@ class Operation(Base): f99_90_id = Column(String(36), primary_key=True, default=generate_uuid) f99_91_user_id = Column(String(36), ForeignKey("collections.f99_90_id", ondelete="CASCADE"), nullable=False, index=True) + # 修正:users表的f99_90_id是varchar f99_92_user_id = Column(String(36), ForeignKey("users.f99_90_id", ondelete="CASCADE"), nullable=False, index=True) + # 修正:users表的f99_90_id是varchar type = Column(String(50), nullable=False, index=True) price = Column(Float, nullable=True) note = Column(Text, nullable=True) @@ -138,6 +142,7 @@ class CustomField(Base): id = Column(String(36), primary_key=True, default=generate_uuid) user_id = Column(String(36), ForeignKey("users.f99_90_id", ondelete="CASCADE"), nullable=False, index=True) + # 修正:users表的f99_90_id是varchar name = Column(String(100), nullable=False) field_type = Column(String(50), default="text") options = Column(Text, nullable=True) @@ -155,6 +160,7 @@ class Information(Base): id = Column(String(36), primary_key=True, default=generate_uuid) user_id = Column(String(36), ForeignKey("users.f99_90_id", ondelete="CASCADE"), nullable=False, index=True) + # 修正:users表的f99_90_id是varchar # 信息类型: seek-寻配号, deal-成交数据, publish-发布 info_type = Column(String(20), nullable=False, index=True) @@ -188,6 +194,7 @@ class Information(Base): # 匹配的用户ID(当用户愿意交换联系方式时) matched_user_id = Column(String(36), ForeignKey("users.f99_90_id", ondelete="SET NULL"), nullable=True) + # 修正:users表的f99_90_id是varchar # 匹配者的联系方式(只有发布者和匹配者可见) matched_contact = Column(String(100), nullable=True) @@ -210,6 +217,7 @@ class InformationComment(Base): id = Column(String(36), primary_key=True, default=generate_uuid) information_id = Column(String(36), ForeignKey("information.id", ondelete="CASCADE"), nullable=False, index=True) user_id = Column(String(36), ForeignKey("users.f99_90_id", ondelete="CASCADE"), nullable=False, index=True) + # 修正:users表的f99_90_id是varchar content = Column(Text, nullable=False) created_at = Column(DateTime(timezone=True), server_default=func.now()) @@ -235,6 +243,7 @@ class InformationLike(Base): id = Column(String(36), primary_key=True, default=generate_uuid) information_id = Column(String(36), ForeignKey("information.id", ondelete="CASCADE"), nullable=False, index=True) user_id = Column(String(36), ForeignKey("users.f99_90_id", ondelete="CASCADE"), nullable=False, index=True) + # 修正:users表的f99_90_id是varchar created_at = Column(DateTime(timezone=True), server_default=func.now()) __table_args__ = ( @@ -262,7 +271,9 @@ class UserFeedback(Base): __tablename__ = "user_feedbacks" id = Column(Integer, primary_key=True, index=True) - user_id = Column(Integer, ForeignKey("users.f99_90_id"), nullable=False) + ForeignKey("users.f99_90_id"), nullable=False) + user_id = Column(String, ForeignKey("users.f99_90_id"), nullable=False) + # 修正:users表的f99_90_id是varchar content = Column(Text, nullable=False) contact = Column(String(100), default="") status = Column(String(20), default="pending") # pending, resolved