【问题标题】:How to configure processmaker(3.0.7) to use postgresql (9.3)?如何配置 processmaker(3.0.7) 以使用 postgresql (9.3)?
【发布时间】:2016-09-24 05:38:21
【问题描述】:

Processmaker 默认使用 mysql,但我不想使用 mysql,因为我的团队在 postgresql 上。我已经更改了接受 postgres 连接的 db.php 文件,但它没有填充数据库。在我的 sql 中它有 138 个表。我期望它会检测到新数据库并添加必要的表。但到目前为止还没有发生。

如果我将所有表从 mysql 复制到 pgsql 那么它会工作吗?

这是我得到的错误

RuntimeException:
 [wrapped: Could not execute query [Native Error: ERROR:  relation "configuration" does not exist
LINE 1: SELECT COUNT(CONFIGURATION.CFG_UID) FROM CONFIGURATION WHERE...
                                                 ^] [User Info: SELECT COUNT(CONFIGURATION.CFG_UID) FROM CONFIGURATION WHERE CONFIGURATION.CFG_UID='getStarted' AND CONFIGURATION.OBJ_UID='' AND CONFIGURATION.CFG_VALUE='1' AND CONFIGURATION.PRO_UID='' AND CONFIGURATION.USR_UID='' AND CONFIGURATION.APP_UID='']]
At BasePeer::doSelect() 
in C:\Users\admin\AppData\Roaming\ProcessMaker-3_0_1_7_community-1\processmaker\workflow\engine\classes\model\om\BaseConfigurationPeer.php line 293
At BaseConfigurationPeer::doSelectRS() 
in C:\Users\admin\AppData\Roaming\ProcessMaker-3_0_1_7_community-1\processmaker\workflow\engine\classes\model\om\BaseConfigurationPeer.php line 223
At BaseConfigurationPeer::doCount() 
in C:\Users\admin\AppData\Roaming\ProcessMaker-3_0_1_7_community-1\processmaker\workflow\engine\methods\login\login.php line 455
At require_once() in C:\Users\admin\AppData\Roaming\ProcessMaker-3_0_1_7_community-1\processmaker\workflow\public_html\sysGeneric.php line 2027
At include() in C:\Users\admin\AppData\Roaming\ProcessMaker-3_0_1_7_community-1\processmaker\workflow\public_html\app.php line 61

【问题讨论】:

    标签: mysql postgresql processmaker


    【解决方案1】:

    不幸的是,ProcessMaker 只能在核心主数据库的 MySQL 数据库引擎下运行。可以将 ProcessMaker 设置为连接到其他引擎类型的外部数据库源,例如 Postgres,但是,这仅用于在外部数据库连接中检索和推送数据。

    原因是已经有大量自定义 SQL 写入特定于 MySQL 的源代码。

    我们试图让它在 MSSQL 上运行,但是,我们最终得出结论,要让 ProcessMaker 在 MSSQL 上运行需要付出太多努力,因此我们决定只使用 MySQL。

    【讨论】:

    • 太糟糕了。在企业级开发软件确实是非常错误的方向。
    • 感谢您的反馈@Abhijit。但是,您必须记住 ProcessMaker 是一个开源产品。我们在 PHP 和 Apache 上运行。因此,作为我们架构中的一个逻辑部分,选择 MySQL 作为数据库来运行应用程序。我们已经看到企业向开源架构迈进的非常重要的趋势。我们拥有特定于 MySQL 的 SQL 查询的原因是为了提高性能,而这对于跨数据库的 ORM 来说是不可能的。因此,虽然在 MSSQL 上运行应用程序会很好,但今天无法实现是有充分理由的。
    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多