【add】Create user alias table and functionality

This commit is contained in:
lanceyq
2026-03-24 15:32:00 +08:00
parent c4461c4917
commit a7285e35ad
8 changed files with 589 additions and 158 deletions

View File

@@ -0,0 +1,24 @@
import datetime
import uuid
from sqlalchemy import Column, DateTime, ForeignKey, String, Text
from sqlalchemy.dialects.postgresql import UUID, JSONB
from sqlalchemy.orm import relationship
from app.db import Base
class UserAlias(Base):
"""用户别名表 - 存储用户的别名信息"""
__tablename__ = "user_aliases"
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, nullable=False, index=True)
end_user_id = Column(UUID(as_uuid=True), ForeignKey("end_users.id"), nullable=False, index=True, comment="关联的终端用户ID")
other_name = Column(String, nullable=False, comment="关联的用户名称")
aliases = Column(JSONB, nullable=True, comment="用户别名列表JSON数组")
meta_data = Column(JSONB, nullable=True, comment="用户相关的扩展信息JSON格式")
created_at = Column(DateTime, default=datetime.datetime.now, comment="创建时间")
updated_at = Column(DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment="更新时间")
# 与 EndUser 的关系
end_user = relationship("EndUser", back_populates="aliases")