From 7a583c0486146175b18f050adce93d023819ad51 Mon Sep 17 00:00:00 2001 From: Zayden Jung Date: Sun, 17 May 2026 22:35:52 +0800 Subject: [PATCH] create follow table: user follows user --- app/models/follow.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 app/models/follow.py diff --git a/app/models/follow.py b/app/models/follow.py new file mode 100644 index 0000000..df02498 --- /dev/null +++ b/app/models/follow.py @@ -0,0 +1,17 @@ +from sqlalchemy import Column, DateTime, String, ForeignKey, UniqueConstraint +from sqlalchemy.sql import func +from .base import AutoID, Base + +class Follow(Base, AutoID): + """用户关注关系表""" + __tablename__ = "follows" + + follower_id = Column(String(32), ForeignKey("users.id", ondelete="CASCADE"), index=True) + followee_id = Column(String(32), ForeignKey("users.id", ondelete="CASCADE"), index=True) + + created_at = Column(DateTime(timezone=True), server_default=func.now()) + + # 联合唯一索引:防止重复关注 + __table_args__ = ( + UniqueConstraint("follower_id", "followee_id", name="uq_follower_followee"), + ) \ No newline at end of file