具有多个数据库的 Grails 多租户

Grails Multi-Tenancy with Multiple Databases

我似乎找不到任何更新的 resource/guide、插件或关于 Grails Multitenancy with Multiple Databases(每个租户一个)的示例。我目前卡在 https://grails.org/plugin/multi-tenant-single-db and the outdated https://grails.org/plugin/multi-tenant-core.

如何根据登录用户进行数据库切换?

Grails 抽象出了很多 Hibernate 的东西,所以 Gorm 和 Hibernate 之间存在阻抗不匹配。其中一个问题是基于租户加载多个数据源。如果您按照数据库策略使用租户,请做好 hard battle. Apart from complexity involved, there is a long way going forward as DB maintenance is quite costly in this strategy. Most modern applications use Single DB Single Schema approach and I've also used this approach in my plugin 的准备。目前此插件使用 Spring 安全性解析租户。采用这种方法的原因是我正在开发的应用程序是一个从单个域提供服务的 SaaS 应用程序。如果您必须从多个域提供服务,则需要对该插件进行少量修改。

关于迁移到grails3,它于2015年3月发布,在一年的时间里,它经历了各种改进和错误修复。它足够稳定,可以依赖,而且它几乎已经移植了所有必要的插件。如果您正在构建一个新的应用程序,则必须采用 grails3 方式。如果您已有应用程序,可以考虑迁移到 grails3。