【问题标题】:Sails + Mysql multi-tenantSails + Mysql 多租户
【发布时间】:2015-01-18 15:48:11
【问题描述】:

我正在开始一个新项目,我想使用 AngularJS 作为前端,使用 SailsJS 作为后端。我需要为不同的客户分离数据库。因此,每个客户端都必须有自己的数据库。

我没有找到如何在 Sails and Waterline 中制作这个。有人知道怎么做这个吗? 我必须在运行时更改架构(或数据库)。

【问题讨论】:

  • 正如 MSDN 的这篇文章 (msdn.microsoft.com/en-us/library/aa479086.aspx) 所说,在开发多租户产品时,您可以采用三种不同的方法。是否绝对有必要拥有单独的数据库?我问是因为大多数时候,通过有不同的方案就足够了(顺便说一句,这就是我们处理它的方式)。我问它,因为这样你不需要配置几个数据库,我认为这在 Sails 上是可能的。
  • 实际上,每个客户端都有一个模式就足够了。但我认为如果不手动自定义和更改其代码,Sails 不支持这一点。我没有找到有关如何进行这种分离的示例。
  • 这很奇怪。我认为他们已经有了与此相关的内容,因为这是一个常见的用例!无论如何,模式分离方法效果很好(这也取决于你的很多客户)。

标签: sails.js waterline


【解决方案1】:

目前,Sails 不支持多租户数据库。

这还取决于您有多少客户。

您可以做的一种方法(与任何其他框架/语言一样)是让(至少)一个应用程序实例指向不同的数据库配置。然后为每个客户提供不同的域。这涉及为每个客户创建一个新的“域”。

另一种方法(涉及更多编码)是拥有组织实体的概念,该实体拥有每个对象并将其包含在每个过滤器中。

过去有一些关于它的 PR,但没有向前推进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2020-11-27
    • 2018-01-31
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    相关资源
    最近更新 更多