Grails:在运行时更改 dataSource url 以实现多租户数据库分离

2023-12-14

我正在使用 Grails 构建一个多租户应用程序,并且我想保留单独的数据库。 我需要在运行时动态更改 url 以将 GORM 指向不同的数据库。

我有一个前端充当平衡器,将请求分发到后端主机集群。每个后端主机运行一个 Grails 2.3.5 实例和一个带有多个数据库(每个租户一个)的 mysql 服务器。我想动态更改数据源,以便 GORM 可以访问正确数据库上的域实体。

有任何想法吗 ?

Thanks


您可以在 DataSource.groovy 中配置多个数据源,看看blog.

在您的域中:添加您的域可以交互的数据源,例如,

static mapping = {
    datasources(['dataSource1', 'dataSource2'])
}

或“ALL”表示所有数据源,例如,

static mapping = {
    datasource 'ALL'
}

然后您可以使用要获取/设置数据的数据源名称进行查询,例如,

def userClass = User.class
User user = userClass.dataSource1.findByName('username')

Ref:- 多个数据源, 在grails中查询多个数据源

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grails:在运行时更改 dataSource url 以实现多租户数据库分离 的相关文章

随机推荐

  • Jackson XML:如何将空/空集合序列化为空节点

    我正在使用 Jackson XML 2 8 9 不幸的是我找不到任何方法将空 空集合序列化为空节点 负责序列化为 XML 的方法 protected byte toXml final Collection
  • 将 Base64 编码的图像上传到 Node.js 服务器不起作用

    我正在使用 MEAN io 并且正在尝试上传 Base64 编码的图像 客户端 AngularJS Image we re going to send it out var base64Image files i var file imag
  • 在应用程序商店中转让 iPhone 应用程序的所有权

    我和我的团队有一个应用程序 我们很快就会将其提交到商店 但我们知道我们将在不久的将来将该应用程序出售给另一家公司 有人有将应用程序的所有权转移到另一个帐户的经验吗 具体来说 当我将应用程序出售给另一家公司时 我们如何将应用程序移至他们的帐户
  • 使用交替和分组结构

    最初我想要一个正则表达式来解析月份数字 首先我想出了以下正则表达式 1 9 1 1 012 它匹配任何正数 表示它匹配该数字的高位数字 即 1 gt 1 2 gt 2 9 gt 9 10 gt 1 19 gt 1 20 gt 2 为什么会这
  • 如何在代码中复制 android:editable="false" ?

    在布局中您可以设置EditText小部件不可通过android editable attribute 我怎样才能在代码中做到这一点 我需要做EditText小部件可根据条件进行编辑 editText setFocusable false e
  • 使用 DomDocument 将实体添加到 DOCTYPE

    我正在尝试创建一个类似于这样的 XML 文档
  • 禁用按钮时更改按钮的样式 ( IsEnabled=False )

    我有一个 UWP 问题 当按钮禁用时 IsEnabled False 如何更改按钮的样式 Microsoft added the VisualStateManager known from Silverlight to the Window
  • FastAPI - 如何在中间件中获取响应正文

    有没有办法在中间件中获取响应内容 以下代码是从here app middleware http async def add process time header request Request call next start time t
  • 引导程序弹出窗口内的日期选择器[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我在弹出框内放置了一个日期选择器 日期选择器不工作 有没有人这样做过 div class col sm 4 div
  • 如何通过正则表达式删除包含特定短语的文本块

    我有一些文本 如下所示 12 12 obj lt lt Some content here gt gt endobj 12 13 obj lt lt Some content here with a email address that c
  • 如何改变VBA中形状文本的样式?

    我用以下代码行更改了文本的大小 shp CellsSRC visSectionCharacter 0 visCharacterSize FormulaU 3pt 我想使用相同的代码模式更改形状文本的样式 粗体 和颜色 我没有找到确切的 公式
  • Visual Studio 2015 TFS .tfignore 文件

    我想忽略 Visual Studio 2015 解决方案中的文件夹 及其内容 签入 tfs 我在项目的根目录中创建了一个名为 tfignore 的文件 其中包含我要排除的文件夹 该文件的内容如下所示 Dist 这根本不起作用 即使我添加 c
  • 主函数内部静态分配大量内存

    我有一个程序必须在 C 中声明一个大小为 1000000 的巨大整数数组 使用 GNU GCC 编译器 我尝试用两种不同的方式声明数组 两个可能的代码是 include
  • 如果要同步读,是否还需要同步写?

    我对同步块没有什么疑问 在提出问题之前 我想分享另一篇相关帖子的答案相关问题答案的链接 我引用彼得 劳瑞来自同一个答案 synchronized ensures you have a consistent view of the data
  • PHP 逐行读取时可以排除换行符吗?

    我想逐行阅读 但我不想处理换行符 我希望将其删除 这样我最终只得到该行的内容 所以现在我的功能是 function getProductCount path count 0 foreach file path as name if name
  • 在哪里可以找到elasticache redis集群的TLS证书

    作为 Elasticache 的新手 我正在尝试从在不同 VPC 中运行的实例连接到它 当客户端位于基于 TLS 的 VPC 内时 它工作得很好 因为不需要传递 TLS 证书 我们只需要向 redis cli 传递 tls 选项 同样 当我
  • NSDate dateFromString 已弃用?

    我正在尝试使用 NSDate dateFromString 方法 但收到警告并且它导致应用程序崩溃 代码如下 NSString pickerDate NSString stringWithFormat timeSelector date N
  • 构建搜索应用程序的最佳实践? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我很快将开始一个简单的数据存储和搜索项目 基本上 其中之一是 将我巨大的 Excel 电子表格放入数据库 为其构建一个 Web GUI 并使其可搜索 类型的东西 困扰我的一件事是当用户输入
  • 如何从街道地址获取坐标

    我正在开发 Windows Phone 8 应用程序 但我找不到如何从地址获取坐标 问题是 我有我的坐标 我需要计算我和某个地址之间的距离 Windows Phone 8 没有太多记录 所以请帮助我 您正在寻找的称为 地理编码 将地址转换为
  • Grails:在运行时更改 dataSource url 以实现多租户数据库分离

    我正在使用 Grails 构建一个多租户应用程序 并且我想保留单独的数据库 我需要在运行时动态更改 url 以将 GORM 指向不同的数据库 我有一个前端充当平衡器 将请求分发到后端主机集群 每个后端主机运行一个 Grails 2 3 5