Check Java and Database Connectors
If Java needs upgrading, you must verify that any JDBC connectors you have installed to non-standard databases are still supported. The standard databases supported by PhixFlow are Oracle, MS SQL Server and MySQL/ MariaDB. The drivers needed to connect to these databases are shipped with PhixFlow, and connections to external databases through PhixFlow data sources are supported by these drivers; see Datasource.
However, if you have connections to external databases other than these - for example, Netezza, Teradata, DB2 - then you will have installed JDBC drivers for these in the folder [tomcat home]/lib
. You must check that your current version of each installed driver is compatible with the new version of Java, and if not, obtain a new version of the JDBC driver from the supplier.
How to Upgrade
Step 1 - Backup your Database
Ensure that you have a recent, full backup of your database. If you need to rollback (see "Rollback Upgrade" below), your PhixFlow configuration and data will revert to this point.
Step 2 - Stop Tomcat and Delete the Work Directory
Stop the Tomcat service.
Note PhixFlow will not be available to users until the upgrade is complete and you restart Tomcat.
Delete the Tomcat
<tomcat base>/work
directory. For example in a Linux installation, enter:Code Block rm -r /opt/tomcat/work
Step 3 - Upgrade the Environment
If necessary, upgrade to supported versions of Java, Tomcat and your database: Oracle, SQL Server or MySQL / MariaDB. See Planning your Upgrade, above.
Remember, if you are upgrading Tomcat, to restore any JDBC drivers needed for any data sources that use database technologies or versions not supported for PhixFlow's own connections. Make sure that any additional JDBC drivers you use are placed in:
Code Block |
---|
[tomcat home]/lib |
See also:
Step 4 - Unzip the PhixFlow Release
Unzip the PhixFlow release package into a temporary directory.
We will refer to the new PhixFlow release directory as $RELEASE
and its corresponding Tomcat directory as $TOMCAT.
Step 5 - Install the New Webapp into Tomcat
Move the live PhixFlow installation directory, $TOMCAT/webapps/phixflow
, to an archive location.
For example on Linux: mv $TOMCAT/webapps/phixflow $ARCHIVE/phixflow-<current date>
Copy $RELEASE/webapp/phixflow
to $TOMCAT/webapps
.
For example on Linux: cp $RELEASE/webapp/phixflow $TOMCAT/webapps/phixflow
In the archive of the live installation, go to the $TOMCAT/webapps/phixflow/WEB-INF/classes/
directory. Copy the following files into the corresponding directory in the new PhixFlow webapp:
phixflow-login.xml
phixflow-datasource.xml
phixflow-instance.xml
logback.xml
phixflow-logging.xml
For example on Linux:cp $CV_ARCHIVE/phixflow-<current date>/WEB-INF/classes, to $TOMCAT/webapps/phixflow/WEB-INF/classes
If you have configured PhixFlow to show your company logo, also copy $TOMCAT/webapps/phixflow/
gui/images/customerLogo.svg
. from the archive to the corresponding directory in the new PhixFlow webapp.
Step 6 - Upgrade the Database
Run all migration scripts in sequence from the starting version to this version.
Note | ||
---|---|---|
| ||
Some of the scripts can generate warning messages, such as Caution: Changing any part of an object name could break scripts and stored procedures. Generally, warning messages do not indicate a problem. However, if you see any error messages, please contact your PhixFlow support team. |
Example for migrating Oracle
Code Block |
---|
cd $RELEASE/install/schema/oracle/migration/X.Y
sqlplus myUsername/myPassword @migrate_schema_from_x_y_z_to_X_Y_Z.sql |
Example for migrating SQL Server
Code Block |
---|
cd $RELEASE/install/schema/sqlserver/migration/X.Y
sqlcmd -S myServer\myInstance -U myUsername -P myPassword -d myDatabase -i migrate_schema_from_x_y_z_to_X_Y_Z.sql |
Example for migrating MariaDB (MySQL)
Code Block | ||
---|---|---|
| ||
cd $RELEASE/install/schema/sqlserver/migration/X.Y
mysql -h myServer -u myUsername -p -D myDatabase
source migrate_schema_from_x_y_z_to_X_Y_Z.sql |
Warning | ||
---|---|---|
| ||
Some MariaDB PhixFlow migration scripts create or use privileged functions and/or procedures, and must have privileges not required by the regular PhixFlow user. You can permanently allow functions like this to run by updating a setting in your my.cnf file. See Running non-deterministic functions in MariaDB for details. If you do not make this change, then you must make sure that either:
|
Step 7 - Re-start Tomcat
Restart the Tomcat service. The upgrade is now complete and users can now access the new version of PhixFlow.