gpt4 book ai didi

postgresql - Postgres 上的 Activiti 5.18.0 不会使用该模式

转载 作者:行者123 更新时间:2023-11-29 13:26:40 28 4
gpt4 key购买 nike

有没有人解决过 Activiti(5.18.0,我也尝试过 6 beta)不会使用数据库模式的问题。 Postgres 上的表前缀?

启动时,如果表不在公共(public)模式(或搜索路径中的另一个模式)中,它将找不到表。之后我觉得还可以。

似乎有两个错误报告,但那个问题似乎并没有解决。

我尝试了不同的解决方案,其中一个是为数据库设置 search_path 并将 activiti 作为其第一个条目,但似乎使用的 Postgres 库的某些部分会动态更改 search_path,因此 Activiti 迟早会再次提示。

我说的是在我自己的应用程序中集成 Activiti ProcessEngine。

最佳答案

在调试Activity的源码后(其实我克隆了https://github.com/Activiti/Activiti(昨天!?)并使用分支activiti6)我发现我居然少了一个属性。

因此,如果您设置架构前缀,那么您必须将“tablePrefixIsSchema”属性设置为“true”!

    processEngineConfiguration.setDatabaseSchema("activiti");
processEngineConfiguration.setDatabaseTablePrefix("activiti.");
/**
* NOTE!
*
* If we set the prefix (for whatever reasons) and it's the same as the
* schema, then the following attribute has to be set to "true"!!!
*/
processEngineConfiguration.setTablePrefixIsSchema(true);

这解决了整个问题。

我现在将尝试使用 Activiti 5.18 并更新此解决方案。 (我用的是Postgresql 9.3,驱动9.3-1103-jdbc41。)

最初的错误是(如果其他人遇到这个):

org.activiti.engine.ActivitiException: Activiti database problem: Tables missing for component(s) engine, history, identity
at org.activiti.engine.impl.db.DbSqlSession.dbSchemaCheckVersion(DbSqlSession.java:925)

关于postgresql - Postgres 上的 Activiti 5.18.0 不会使用该模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32656720/

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