1

Processmaker by default works with mysql but i do not want to use mysql as my team is on postgresql . I have changes the db.php file it is accepting the postgres connection but then it does not populate the database. in my sql it has 138 tables. I eas expecting it would detect the new database and add the necessary table. but it is not happening so far.

If i copy all the tables from the mysql to pgsql then will it work ?

Here is the error that i got

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
Abhijit Gujar
  • 433
  • 6
  • 15

1 Answers1

1

Unfortunately, ProcessMaker can only run under the MySQL database engine for the core, primary database. It is possible to setup ProcessMaker to connect to an external database source of other engine types, such as Postgres, however, this is only for retrieving and pushing data to and from the external database connection.

The reason for this is that there has been a significant amount of custom SQL written into the source code that is specific to MySQL.

We have tried to get it to work on MSSQL, however, we ultimately concluded that it would require too much effort to allow for ProcessMaker to run on MSSQL and so we have decided to stick with only MySQL.

Ethan Presberg
  • 203
  • 1
  • 6
  • too bad. indeed very wrong direction of developing a software at Enterprise level. – Abhijit Gujar Oct 25 '16 at 05:12
  • Thanks for your feedback @Abhijit. However, you have to remember that ProcessMaker is an open source product. We run on PHP and Apache. Therefore, as a logical piece in our architecture, MySQL was selected as the database to run the application. We have seen a very significant trend in the enterprise towards open source architectures. And the reason that we have SQL queries specific to MySQL is for performance gains that are simply not possible with ORMs that are cross database. So, while it would be nice to run the application on MSSQL, there are good reasons for it not being possible today. – Ethan Presberg Oct 31 '16 at 13:57