37 lines
1.7 KiB
Python
37 lines
1.7 KiB
Python
"""MySQL: bg_company 表模型"""
|
|
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from sqlalchemy import BigInteger, DateTime, Integer, JSON, String, Text
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
|
|
from app.core.database import MysqlBase
|
|
|
|
|
|
class Company(MysqlBase):
|
|
"""公司表"""
|
|
|
|
__tablename__ = "bg_company"
|
|
|
|
id: Mapped[int] = mapped_column(BigInteger, primary_key=True)
|
|
name: Mapped[Optional[str]] = mapped_column(String(255))
|
|
short_name: Mapped[str] = mapped_column(String(128), nullable=False)
|
|
logo_url: Mapped[Optional[str]] = mapped_column(String(512))
|
|
region_code: Mapped[Optional[str]] = mapped_column(String(20))
|
|
company_type: Mapped[Optional[str]] = mapped_column(String(32))
|
|
industry_id: Mapped[Optional[int]] = mapped_column(BigInteger)
|
|
tags: Mapped[Optional[list]] = mapped_column(JSON)
|
|
summary: Mapped[Optional[str]] = mapped_column(String(512))
|
|
description: Mapped[Optional[str]] = mapped_column(Text)
|
|
founded_year: Mapped[Optional[str]] = mapped_column(String(10))
|
|
address: Mapped[Optional[str]] = mapped_column(String(255))
|
|
scale: Mapped[Optional[str]] = mapped_column(String(32))
|
|
website: Mapped[Optional[str]] = mapped_column(String(255))
|
|
financing_stage: Mapped[Optional[str]] = mapped_column(String(32))
|
|
latest_valuation: Mapped[Optional[str]] = mapped_column(String(64))
|
|
news: Mapped[Optional[list]] = mapped_column(JSON)
|
|
status: Mapped[int] = mapped_column(Integer, default=0, comment="0=待完善 1=已完善 2=禁用 3=补充中 4=补充失败")
|
|
create_time: Mapped[datetime] = mapped_column(DateTime, nullable=False)
|
|
update_time: Mapped[datetime] = mapped_column(DateTime, nullable=False)
|