问题标签 [multiple-schema]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1534 浏览

java - Spring Boot - JPA - Postgres 错误:未实现跨数据库引用:

我正在使用 Spring Boot、JPA 和 Postgres,并且我有一个具有多个模式的数据库。我使用 JPA 实现了一个 Web 服务,我收到了这个错误:

ohengine.jdbc.spi.SqlExceptionHelper:错误:未实现跨数据库引用:“kaloudia_db_v2.enumeration.unit”

你知道有什么方法可以克服这个错误吗?

我的课是

JPA函数的调用是:

0 投票
1 回答
981 浏览

xsd - maven-jaxb21-plugin 在同一 .xjb 中的多个模式

我正在尝试使用inheritance选项 using jaxb2-commons,它适用于 maven 插件中指定的一种模式。但是,如果我将另一个架构添加到同一个 .xjb 文件中,pom.xml 会显示错误为Unable to parse schemas exception.

我怀疑这可能是因为两个模式都相同targetnamespace并试图提供不同的命名空间,这似乎有效。

那么是否可以为 2 个不同的 xsd 保留相同的目标命名空间(在我的情况下,它只是 2 个不同版本的 xsd,因此拥有相同的目标命名空间是有意义的)。有任何想法吗 ?任何其他可能的解决方案?

编辑:我execution在里面添加了 2plugin并且它也失败了Unable to parse schemas exception

常见的.xjb

pom.xml

0 投票
2 回答
164 浏览

postgresql - 来自多个模式的 DWH

我在 postgresql 中有一个项目,可以从多个模式创建 DWH。模式具有相同的结构(表、约束)。我被困在这个问题上:我将在 DWH 中使用的所有模式中都有一个表“员工”。schema1 表 employees 中的第一个条目是 1 John Dow,schema2 表 employees 中的第一个条目是 1 Mary Jane(id 列是自动递增的)。有没有办法用这种结构创建一个 DWH?有没有办法对模式数据进行分区?谢谢你。

0 投票
2 回答
467 浏览

groovy - 无法在 Grail & Groovy 中自定义域类的架构

我们在 Grails 中创建了两个不同的域对象,并尝试从两个不同的模式进行访问。

方法一:

例如:

学生.groovy

客户.groovy

应用程序.yml

如果我在 url 连接字符串中提供默认架构,它总是引用该默认架构,而不管域类中定义的架构并抛出异常,找不到表。如果我从 url 连接字符串中删除默认架构,我会在日志中收到“未选择数据库”错误。

方法二:

我们尝试在application.yml中为每个模式配置多个数据源选项,如下所示:

使用域类作为Customer.groovy

我收到一个错误

我们参考了以下链接以进行多模式访问:

https://objectpartners.com/2016/03/09/using-secondary-datasources-in-grails-3/

在 Grails 中使用模式创建域类

任何人都可以提出解决方案吗?

0 投票
0 回答
534 浏览

c# - Mysql在大型模式操作期间强制关闭连接

我参与了一个项目,该项目需要用 46 个以上的新表更新 Mysql 中的 14k 数据库模式。这些附加表的创建脚本每个模式平均需要 42 秒才能运行。当以单线程方式运行时,没有问题,但为了避免花费一周以上的时间来完成更新,我们有一个工具可以多线程应用更新脚本。这是在 C# 中使用微软的 Parallel.ForEach 完成的,并设置了线程数的限制。目前,如果我将其推过 4 个线程,则数据库开始周期性地响应致命错误,当挖掘到这些错误时,表明在等待响应时主机强行关闭了连接。连接超时设置为 120000,默认命令超时也设置为 120000。(我尝试将其更改为 int.

例外的相关部分是:

MySql.Data.MySqlClient.MySqlException (0x80004005):命令执行过程中遇到致命错误。---> MySql.Data.MySqlClient.MySqlException (0x80004005): 尝试读取结果集时遇到致命错误。---> MySql.Data.MySqlClient.MySqlException (0x80004005):从流中读取失败。---> System.IO.IOException: Unable to read data from the transport connection: 一个现有的连接被远程主机强行关闭。

用于运行脚本的代码如下:

其中初始命令文本只是“使用 some_schema_name;\r\n”这一行

如果有人有任何想法或潜在的设置,我可以操纵以增加吞吐量,将不胜感激!

0 投票
1 回答
1693 浏览

authentication - 一次使用多个方案授权 ASP.NET Core 2.1 控制器

让我们假设我们正在使用带有“Abc”模式和相应处理程序的身份验证,一切都很好。我们能够简单地保护控制器

[Authorize(AuthenticationSchemes = "Abc", Roles = "admin")]属性

但现在似乎需要能够使用“Xyz”模式保护控制器的端点(因此请求应该对应于两种方案的需求)。所以,我认为注册新的模式和处理程序足以能够[Authorize]如下使用并接收AND逻辑:

但相反,对控制器的有效请求会导致“禁止”响应状态(请注意,即使在“未授权”中)。

我也觉得有趣的是,当我们应用[Authorize(AuthenticationSchemes = "Xyz")]动作方法而不是控制器时 - 一切都按预期工作。

PS:MvcOptions.AllowCombiningAuthorizeFiltersinStartup已经设置为false.

我猜想当两个属性都存在于同一(本例中为控制器)级别时,它仍然以某种方式合并授权逻辑。

有谁知道我错过了什么?可能我认为方向是错误的,并且有一种适当的方法来进行多模式身份验证所以,请随时提供您的想法。

0 投票
1 回答
2098 浏览

python - Django Postgres 多模式迁移:“没有要应用的迁移”

设置:一个具有两种模式的 Postgres 数据库:“默认”和“其他”。使用:

  • Django==2.0.10
  • psycopg2-binary==2.7.7(生产中没有二进制版本)

我的数据库配置:

对新数据库采取的步骤:

  • py manage.py migrate:按预期工作,并且“默认”架构已正确迁移。
  • py manage.py migrate --database=other结果是:No migrations to apply.

奇怪的是,以相反的顺序采取这些步骤(再次,在一个新的数据库上)有效:

  • py manage.py migrate --database=other:按预期工作,并且“其他”架构已正确迁移。
  • py manage.py migrate结果:按预期工作,并且“默认”架构已正确迁移。

我怀疑这与django_migrations桌子有关。我对这张表不太了解,每个 Postgres 模式都有一个吗?还是django_migrations每个项目只有一张桌子?经过大量谷歌搜索后,我看到了许多关于使用数据库路由器的建议。“其他”模式必须与“默认”模式具有所有相同的表,因此在这种情况下路由器将无济于事。

DELETE FROM django_migrations在“默认”上运行迁移然后在“其他”上运行迁移后,我尝试执行 SQL ;这仅适用于新数据库上的第一次迁移,任何后续迁移尝试都会导致错误,因为 Django 尝试应用已应用的迁移并 raises django.db.utils.ProgrammingError: relation "<relation>" already exists

我还尝试过使用django.db.migrations.recorder.MigrationRecorder该类来在迁移“默认”和“其他”数据库之间刷新迁移表,再次没有运气。

此外,我能够让我的测试套件运行的唯一方法是将“其他”设置为“默认”的依赖项,以利用在“默认”之前迁移“其他”有效的奇怪事实。

我不知道为什么会这样,我确定我缺少一些东西。

更新

采取与前面提到的相同的步骤:

  • py manage.py migrate:按预期工作,并且“默认”架构已正确迁移。
  • py manage.py migrate --database=other结果是:No migrations to apply.

在 pgAdmin 中进行了一些挖掘之后,我运行了以下 SQL

这按预期返回了应用迁移表。然后运行以下SQL

我得到一个错误,说关系“django_migrations”不存在。所以这回答了我关于django_migrations表的问题:每个模式应该有一个,这当然很有意义。

因此,这使我认为 Djangodjango_migrations在尝试迁移“其他”模式时必须从“默认”模式查看表,因此看到“没有要应用的迁移”。我将继续尝试解决这个问题,任何指针都会有很长的路要走,因为我仍然不确定如何让迁移在两个模式上工作。

更新

我已将其写为答案,但此解决方案仅在本地有效,因此我将其添加为更新。

在盯着DATABASES配置看了一会儿后,我终于明白是什么导致了我看到的问题。我为每个search_path选项提供了一个逗号分隔的列表,如下所示:

我对这里发生的事情的解释:在py manage.py migrate新数据库上运行时,Django 会看到“默认”模式中没有django_migrations表,创建一个表,然后在应用迁移时填充它。然后,当我运行py manage.py migrate --database=other它时,它会在“其他”中django_migrations查找,找不到它,然后它必须在“默认”中查找,因为它是在搜索路径中查找的下一个位置。正如django_migrations“默认”模式中已经存在的那样,Django 将使用此表,然后看到“没有要应用的迁移”。在这里我可能不完全准确,如果我说了什么明显错误的地方,请纠正我。

更改DATABASES配置中的搜索路径,如下所示:

导致两种模式都在我的本地环境中成功迁移。但是,当迁移在 TravisCI 或 Heroku 上运行时,这不起作用。在迁移“默认”或“其他”时,两者都会出现此错误:

0 投票
1 回答
503 浏览

hibernate - Spring Boot 2休眠多个模式

我有一个数据库(MySql)和几个模式(schema_a、schema_b、schema_c)。模式具有相同的表,相同。

当前模式取决于当前用户(会话)数据。例如,当前用户来自 A 公司,则当前架构为“schema_a”。因此,EmployeeRepository.findAll() 方法从模式“schema_a”中获取数据。

在使用 spring boot 2 休眠时,是否可以动态更改当前 entityManager?如果是,如何?

请帮忙

0 投票
1 回答
571 浏览

mysql - 如何实现多模式的flyway数据库迁移?

所以,在我的项目中,我使用了 application.properties 文件。我在这里有三个问题。1)我提供了如下的spring数据源属性。

即使没有提供 flyway 属性,即 flyway.url,我的应用程序也能够成功运行。这怎么可能?提供弹簧属性时 Flyway 不需要吗?

2)对于flyway的其他属性,我使用它的工作原理如下

但它不适用于 spring.flyway.defaultSchema=trial。对此没有任何想法。

3)如何实现多个模式的迁移。有什么例子吗?

0 投票
1 回答
41 浏览

import - 用户在将数据集从数据库导入 HCL OneTest Data 时,是否可以从具有多个模式的任何微服务架构中导入数据?

当用户从数据库中导入模式或样本数据集时,当用户想要从具有多个模式的任何微服务架构中导入数据时会发生什么?