如何使用 SQLAlchemy 在 FastAPI 中实现多租户(不使用域标头)?

问题描述 投票:0回答:1

我正在使用 FastAPI 和 SQLAlchemy 作为 ORM 开发多租户应用程序。我需要为多租户实现一个干净且可扩展的解决方案,而不依赖于域标头(例如,tenant1.example.com)。

我目前陷入了架构困境,并正在寻找干净地实现这一点的指导。任何建议、模式或示例将不胜感激。

sqlalchemy architecture fastapi multi-tenant
1个回答
0
投票

您可以为每个模型使用租户属性。然后您将能够按特定的列名称分类存储数据。

class TenantBase(Base):
__abstract__ = True  # Ensures this base class is not mapped to a table
tenant_name = Column(String, nullable=False, index=True)  # Tenant 
identifier

class User(TenantBase):
__tablename__ = 'users'

id = Column(Integer, primary_key=True, autoincrement=True)
username = Column(String, nullable=False)
email = Column(String, nullable=False)

还有=>https://medium.com/@vivekmadurai/multi-tenancy-in-rest-api-a570d728620c

© www.soinside.com 2019 - 2024. All rights reserved.