PhixFlow Help

Standard Upgrade Instructions

These are the general steps that you should always follow when upgrading and existing PhixFlow instance from one release to another.

Some releases contain special instructions.

When planning an upgrade, please check the special instructions for each intermediate release and follow the additional steps as indicated.

Contents

Before Upgrading

Check Compatibility Guide and Upgrade Planning to ensure that your version of database, tomcat and java are supported in the planned upgrade. If any of these items need updating, please contact your IT team several weeks in advance of the planned upgrade.

Java upgrades

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 though PhixFlow datasources are supported by these drivers. 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.

Special upgrade instructions

Also check Compatibility Guide and Upgrade Planning for any special upgrade instructions between your current and target versions.

Upgrade

Backup your Database

Ensure that you have a recent full backup of your database. If, for any reason, you need to rollback (see "Rollback Upgrade" below), your PhixFlow configuration and data will revert to this point.

Stop Tomcat

Stop Tomcat. PhixFlow will not be available to users until the upgrade is complete.

Environment

If necessary, upgrade to supported versions of Java, Tomcat and Oracle, SQL Server or MySQL / MariaDB.

See above for details.

Remember, if you are upgrading tomcat, to restore any JDBC drivers needed for datasources that use database technologies or versions not supported for PhixFlow's own connections. See Install Tomcat for details, but in brief, make sure that any additional JDBC drivers you use are placed in:

[tomcat home]/lib


Unzip the PhixFlow Release

Unzip the PhixFlow release package into a temporary directory.

We will refer to the new PhixFlow release as $RELEASE.

Install the new Webapp into Tomcat

Move the live phixflow installation, i.e. the directory $TOMCAT/webapps/phixflow, to an archive location.

E.g. on unix/linux: mv $TOMCAT/webapps/phixflow $ARCHIVE/phixflow-<current date>

Copy $RELEASE/webapp/phixflow to $TOMCAT/webapps.

E.g. on unix/linux: cp $RELEASE/webapp/phixflow $TOMCAT/webapps/phixflow

Copy the following files from the WEB-INF/classes directory in the archive of the live installation into the corresponding directry in the new phixflow webapp:

  • phixflow-datasource.xml
  • phixflow-instance.xml
  • phixflow-domains.xml
  • log4j.properties

E.g. copy $CV_ARCHIVE/phixflow-<current date>/WEB-INF/classes, to $TOMCAT/webapps/phixflow/WEB-INF/classes

Upgrade the Database

Run all migration scripts run in sequence from the starting version to this version.

Warnings

Please note that some of the scripts can generate warning messages. One example of this is Caution: Changing any part of an object name could break scripts and stored procedures. Generally, these warning messages do not indicate a problem. However, in the event that you see any error messages, please contact your PhixFlow support team.

Oracle

E.g. for Oracle users:

cd $RELEASE/schema/oracle/migration/X.Y
sqlplus myUsername/myPassword @migrate_schema_from_x_y_z_to_X_Y_Z.sql

SQL Server

E.g. for SQL Server users:

cd $RELEASE/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

MariaDB (MySQL)

Some MariaDB PhixFlow migration scripts create or use privileged functions and/or procedures, and must have privileges not required by the regular PhixFlow user.

Specifically, one of the following must be true:

  • the migration user has SUPER privilege, or
  • the mysql global variable 'log_bin_trust_function_creators' is set to true

If neither are true, the migration script may fail and would require manual recovery.


E.g. for MariaDB users
cd $RELEASE/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


Re-start Tomcat

Import new Templates package

See Import Templates and Formats for guidelines on whether or not, and how to import the templates file.

Complete

The upgrade is now complete.

Please let us know if we could improve this page feedback@phixflow.com