41 lines
2.3 KiB
Python
41 lines
2.3 KiB
Python
"""用户简历表(bg_user_resume)
|
||
简历维度信息 + 个人基本信息合并存储
|
||
"""
|
||
|
||
from datetime import datetime
|
||
from typing import Optional
|
||
|
||
from sqlalchemy import BigInteger, Integer, String, DateTime, JSON
|
||
from sqlalchemy.orm import Mapped, mapped_column
|
||
|
||
from app.core.database import Base
|
||
|
||
|
||
class UserResume(Base):
|
||
"""用户简历表 bg_user_resume"""
|
||
__tablename__ = "bg_user_resume"
|
||
|
||
id: Mapped[int] = mapped_column(BigInteger, primary_key=True)
|
||
user_id: Mapped[int] = mapped_column(BigInteger, nullable=False, comment="用户ID")
|
||
|
||
# 简历维度信息
|
||
resume_name: Mapped[Optional[str]] = mapped_column(String(128), nullable=True, comment="简历名称")
|
||
target_position: Mapped[Optional[str]] = mapped_column(String(128), nullable=True, comment="目标岗位")
|
||
is_default: Mapped[int] = mapped_column(Integer, default=0, comment="是否默认简历 0=否 1=是")
|
||
sort_order: Mapped[Optional[int]] = mapped_column(Integer, nullable=True, comment="排序序号")
|
||
|
||
# 个人信息
|
||
avatar_url: Mapped[Optional[str]] = mapped_column(String(512), nullable=True, comment="头像URL")
|
||
name: Mapped[Optional[str]] = mapped_column(String(64), nullable=True, comment="真实姓名")
|
||
email: Mapped[Optional[str]] = mapped_column(String(128), nullable=True, comment="邮箱")
|
||
mobile_number: Mapped[Optional[str]] = mapped_column(String(20), nullable=True, comment="手机号码")
|
||
city: Mapped[Optional[str]] = mapped_column(String(64), nullable=True, comment="所在城市")
|
||
wechat_number: Mapped[Optional[str]] = mapped_column(String(64), nullable=True, comment="微信号")
|
||
portfolio_url: Mapped[Optional[str]] = mapped_column(String(512), nullable=True, comment="作品集链接")
|
||
skills: Mapped[Optional[list]] = mapped_column(JSON, nullable=True, comment="技能标签列表")
|
||
certificates: Mapped[Optional[list]] = mapped_column(JSON, nullable=True, comment="证书标签列表")
|
||
summary: Mapped[Optional[str]] = mapped_column(String(2000), nullable=True, comment="个人概述")
|
||
|
||
create_time: Mapped[datetime] = mapped_column(DateTime, default=datetime.now, comment="创建时间")
|
||
update_time: Mapped[datetime] = mapped_column(DateTime, default=datetime.now, onupdate=datetime.now, comment="更新时间")
|