Install the PhixFlow Database Schema

Introduction

The schema installation has 4 main steps, regardless of platform:

  1. Create the database user
  2. Create the tables required
  3. Populate them with initial configuration data
  4. Set the customer name

All of the commands below should be run from an operating system command window e.g. bash (Linux) or cmd (Windows), and the current directory should be set to that containing the installation instructions for the target platform. E.g.

cd $RELEASE/phixflow-x.y.z-yyyymmdd/install

Create the database user

If you are  Database Administrator (DBA) and no database / login have previously been set up, you should use the following commands to create a new database / user.

Creating the database user is dependent on the database platform, and will often have to be varied to meet local requirements regarding naming and security. These example commands will be adequate basic installations.

Platform

Create the database user

Oracle:

This command will prompt for the name of the user to be created.

sqlplus SYS/SYSPassword@SID as SYSDBA @schema/oracle/install/create_user

Sql Server:

Before creating the database, ensure that default collation is Latin1_General_CI_AS:

SELECT SERVERPROPERTY('collation');

If it is not, please talk to the database administrator to get this updated to the required collation (see also Install MS SQL Server).

This command creates a local (SQL Server) login, a user with required user mappings, sets the password for the login and creates the database.

sqlcmd -S localhost\myservice -i schema/sql_server/install/create_database_and_user.sql -v dbName="phixflow" dbLogin="phixflow" dbUser="phixflow" dbPassword="mypass"

MariaDB:

Connect to the database as root (or an administrator):

mysql --user=<myrootuser> --password

If you followed the suggested PhixFlow installation notes for installing MariaDB, you will be using unix_socket authentication (see Install MariaDB), and the command to log into the database as root is simply:

sudo mysql

Create the user, supplying the name of the database, the user and the password in the commands below:

create database phixflow CHARACTER SET = 'utf8' COLLATE = 'utf8_bin';
grant all privileges on phixflow.* to '<myuser>'@'%' identified by '<mypass>';
exit

Populate the Database

Once you have created the database and/or database user, run the installer to create the database tables and initial data.

  1. In your command console, change to the directory where you extracted the release zip  then to the install directory. 
  2. Run the installation command for your database (listed below).

The customer name in the commands below must exactly match the customer name used by PhixFlow Support to generate licence files. This argument (–customer="Your Customer Name") is optional, but if you don't specify a valid customer name you will not be able to install the licence key and you will not be able to run any tasks in PhixFlow.

The database connection strings given here should cover most cases of connecting to PhixFlow's own database. For more details, see Database URLs for how connection strings are constructed for the various database platforms supported by PhixFlow.

cd $RELEASE/phixflow-x.y.z-yyyymmdd/install

SQL Server:

If a database, with login details, was provided (i.e. you did not perform the step above for creating the login, user and database), please check that the database has the correct collation:

SELECT DATABASEPROPERTYEX('DBNAME', 'Collation');

E.g.

SELECT DATABASEPROPERTYEX('phixflow', 'Collation');

Then run the command:

java -jar bin/installer.jar -url="jdbc:sqlserver://myhost\myserver;databaseName=phixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name"

MariaDB:

java -jar bin/installer.jar -url="jdbc:mariadb://localhost/phixflow" -user=<myuser> -pass=<mypass> -install -customer="Your Customer Name"

Oracle:

java -jar bin/installer.jar -url="jdbc:oracle:thin:@localhost:1521:phixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name"

Oracle (> 12c with PDB containers):

java -jar bin/installer.jar -url="jdbc:oracle:thin:@hostname:1521/phixflow" -user=myuser -pass=mypass -install -customer="Your Customer Name"