Overview

Follow these instructions to migrate the data from a Windows installation of ProcessMaker to a Linux/UNIX installation of ProcessMaker. All the data in a workspace (processes, users, cases, etc) can be migrated from a Linux/UNIX installation to a Windows installation of ProcessMaker without any problems, however, table names cause problems when migrating workspaces from Windows to Linux/UNIX. MySQL in Windows is case insensitive, whereas MySQL is case sensitive in Linux/UNIX by default. When data from MySQL in Windows is imported into Linux/UNIX, the ProcessMaker tables names will be in lowercase, while the ProcessMaker code expects them to be in uppercase. This incompatibility can be worked around either by changing the MySQL configuration or by running a script to rename the tables in the ProcessMaker databases.

Warning: Make sure that both installations are using the SAME version of ProcessMaker. Data from one version of ProcessMaker should not be used in a different version of Processmaker due to incompatibilities between database structure and code. If needing to move between versions, first upgrade the Windows installation of ProcessMaker to the same version of ProcessMaker which is installed in Linux/UNIX. Then follow these instructions.

Table name problems in MySQL

When the ProcessMaker workspaces from Windows are restored into Linux, the table names of the workspace databases will be in lowercase. ProcessMaker will not be able to read these tables correctly because it expects the table names to be in uppercase. To work around this problem, either configure MySQL tables to be case insensitive or change the name of the tables of the backup to upper-case with a text editor.

Configuring MySQL Tables to be Case Insensitive

Go the Linux/UNIX server and edit the MySQL configuration file, which is generally found at /etc/mysql/my.cnf, /etc/my.cnf or ~/my.cnf

Add the following line to the my.cnf configuration file:

lower_case_table_names=1

Then restart MySQL (or reboot):

Debian/Ubuntu/SuSE:

/etc/init.d/mysql restart

Red Hat/CentOS/Fedora:

/etc/init.d/mysqld restart

Backing up a ProcessMaker workspace on Windows

Follow these instructions to use the processmaker workspace-backup command to backup the ProcessMaker workspaces in Windows. Then, copy the workspace backup files to the Linux server where the same version of ProcessMaker is also installed.

Restoring ProcessMaker workspace on Linux/UNIX

After configuring MySQL in the Linux/UNIX server to be case insensitive, use the processmaker workspace-restore command to restore the workspace(s) in that installation of ProcessMaker.

Deleting ProcessMaker Databases

It is not necessary to delete the ProcessMaker databases in the Windows server, but if wishing to delete them, they can be deleted with the drop database command in MySQL. For example to delete the three databases for the default "workflow" workspace, first login to MySQL as the root user and then issue the commands:

cd "C:\INSTALL-DIRECTORY\mysql\bin" mysql -u root -p mysql> drop database wf_workflow; mysql> drop database rb_workflow; mysql> drop database rp_workflow; mysql> exit;

Note: In some Windows installations, rp_workflow is named rpworkflow (without an underscore).