【发布时间】:2018-11-14 08:40:36
【问题描述】:
我们正在计划构建一个基于 SaaS 的产品,所以主要经过大量搜索后,我们发现设计 SaaS 产品有三种数据库方法。
- 每个租户的独立数据库
- 每个租户的单独架构
- 所有租户共享架构和一个数据库(但将使用租户 ID 进行查询)
所以我们计划进入选项 2,
所以一开始我们使用的是Mysql,但是我们没有找到如何在mysql中获取多个schema,我们使用的是Sequelize作为ORM。
经过大量谷歌搜索,我们发现许多基于 多租户 的产品都在使用 postgresql 作为强大的模式方法,因此我们尝试了这个库:
https://github.com/westmark/sequelize-multi-tenant-enhancer
我们尝试将此库用于基于多种模式的方法,但数据是 根据租户没有显示,我也在github中打开了一个问题,
因此,如果您有任何想法或任何帖子可以帮助我构建 SaaS 产品,请帮助我
注意:我的堆栈:Node + Express + Angular + Mysql 或 Postgres
我的问题是如何在 postgres 中使用多个模式?
【问题讨论】:
-
如果您最终改变了对查询的想法,您应该查看 GraphQL,这是一种用于您的 API 的简单查询语言。 graphql.org
-
恕我直言,您应该选择选项 3。我们遇到了同样的情况。我在博客上写了为什么以及如何here
标签: mysql node.js postgresql sequelize.js saas