我开发多租户的方法,即共享数据库,理想情况下在PostgreSQL上使用单独的模式。所有租户的一个数据库,但每个租户一个模式类似于django tenant schemas。在websauna上是否有指南或附件来实现这一目标?
答案 0 :(得分:2)
这里有什么,而且没有
已经
SQLAlchemy supports PostgreSQL tenancy。您可以通过在为应用程序子类化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
模型,例如to track the subscriber billing status