Migration from v1.7 to v1.8

Overview

Version 1.8 replaces Hibernate auto schema management (ddl-auto=update) with Flyway as the sole mechanism for database schema changes. From this version onwards all DDL changes are versioned, tracked and repeatable across every supported database engine (MariaDB, MySQL, PostgreSQL, Oracle, SQL Server).

Migration steps for existing v1.7 installations

  1. Download OKMFlow 1.8 from https://download.openkm.com/pro/tools.
  2. Stop Tomcat and replace the okmflow.war archive.
  3. Edit $TOMCAT_HOME/okmflow.properties and apply the following changes:
    • Set spring.jpa.hibernate.ddl-auto to validate. Hibernate will only verify the schema against the entities; Flyway is now responsible for all DDL changes:
      spring.jpa.hibernate.ddl-auto=validate
    • Add the two Flyway baseline properties. These tell Flyway that the existing schema already corresponds to the v1.7 baseline and that it should only apply migrations above that version:
      spring.flyway.baseline-on-migrate=true
      spring.flyway.baseline-version=1.7.0.0

      These lines are automatically removed by the application on the first successful startup. No manual cleanup is needed.

  4. Start Tomcat. On the first startup Flyway will:
    • Create the WF_SCHEMA_HISTORY tracking table.
    • Record the v1.7 baseline as already applied.
    • Apply all pending migrations above v1.7.
  5. Verify the application started correctly. The baseline properties added in step 3 have been automatically removed from okmflow.properties.

Fresh installations

New installations do not require the baseline properties. Flyway detects an empty database and applies all migrations in order.

Migrations in future v1.9

No changes to okmflow.properties are needed for incremental migrations: Flyway picks them up automatically on every startup.