2

我开发多租户的方法,即共享数据库,理想情况下在 PostgreSQL 上分离模式。所有租户一个数据库,但每个租户一个模式,类似于django 租户模式。是否有指南或插件可以在 websauna 上实现这一目标?

4

1 回答 1

2

这是有和没有的

已经在那了

  • SQLAlchemy 支持 PostgreSQL 租户websauna.system.Initializer您可以通过在为您的应用程序子类化时覆盖数据库会话工厂来设置它。请参阅configure_database,它会将您引导至允许覆盖create_dbsession的路径。您的数据库会话工厂将查看 HTTP 请求(域)的属性并将会话配置为相应地指向相应的模式。

  • 可以提供可插拔websauna.tenant插件的插件架构

  • 主题化:可以通过提供site/base.html租户感知的模板来自定义 CSS 和其他资产(徽标)。例如,它注入css.html<head>从数据库中定义 CSS 文件名的能力。您将覆盖插件site/base.html中的默认值。websauna.tenant

失踪

  • Alembic 迁移支持 PSQL 模式,但不确定这种支持有多完善

  • 没有Tenant模型,例如跟踪订户计费状态

于 2017-01-28T10:59:38.827 回答