21 lines
878 B
Python
21 lines
878 B
Python
"""空间模型。
|
|
|
|
数据库沿用 tenants 表名;产品语义为 Workspace。
|
|
"""
|
|
from .base import BaseNoTenant
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
from sqlalchemy import BigInteger, Integer, VARCHAR
|
|
from typing import Optional
|
|
|
|
|
|
class Tenant(BaseNoTenant):
|
|
__tablename__ = "tenants"
|
|
|
|
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
|
|
name: Mapped[str] = mapped_column(VARCHAR(255), nullable=False)
|
|
domain: Mapped[Optional[str]] = mapped_column(VARCHAR(255), nullable=True)
|
|
workspace_type: Mapped[str] = mapped_column(VARCHAR(32), nullable=False, default="team")
|
|
slug: Mapped[Optional[str]] = mapped_column(VARCHAR(120), nullable=True)
|
|
owner_user_id: Mapped[Optional[int]] = mapped_column(BigInteger, nullable=True)
|
|
status: Mapped[str] = mapped_column(VARCHAR(32), nullable=False, default="active")
|