gpt4 book ai didi

grails - 如何将 2 个不同的项目连接到同一个开发环境数据库?

转载 作者:行者123 更新时间:2023-12-02 15:29:06 27 4
gpt4 key购买 nike

我有 2 个项目 A 和 B

他们有一个名为“TABLE”的域类

A 将在“TABLE”中插入信息,B 必须选择它

我在第一个项目的 DataSource.groovy 中有这个配置:

enviroments{
development{
dataSource {
url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
}

它在内存和端口 8110 中运行,我如何从其他应用程序访问该数据库?就像是
url="jdbc:h2:tcp://localhost:8110/mem:devDb" //?

最佳答案

只要应用程序的两个实例都可以访问数据库,应用程序运行的端口和位置就无关紧要。

根据您提供的少量信息,我假设您想要设置多个数据源。你可以去docs有关更多详细信息,但这里有一个预告片:

在 DataSource.groovy 中:

environments {
development {
dataSource {
// Connection parameters for the application specific dataSource
}
dataSource_common {
// Connection parameters for the common dataSource
}
}

// Copy and paste for other environments
}

在您的域类中:
class Table {
// Domain Class properties

static mapping = {
datasource 'common'
}
}

对于这两个应用程序,使 Table 类相同。当应用程序 A 保存 Table 的实例时,它将可用于两个应用程序。然后应用程序 B 可以从表中读取。

请注意:

让两个应用程序使用相同的数据源通常是不好的做法。上述说明解释了如何允许多个应用程序访问单个数据源,但不鼓励您这样做。

与其拥有一个公共(public)数据源,不如让应用程序 A 通过 RESTful 接口(interface)向对象 B 公开 Table 域类。这将减轻由 Hibernate 操作相同结构和数据集的两个实例引起的潜在冲突。

您可以在 docs 中找到有关 Grails RESTful 资源公开的更多详细信息。 .

关于grails - 如何将 2 个不同的项目连接到同一个开发环境数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22697478/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com