0

We're using YuniQL as our schema versioning and database migration engine for a Postgres DB. The issue we're seeing is the following:

  • We ran YuniQL initially with version v1.1.55.0
    • Yuniql creates the __yuniql_schema_version table with the schema for that version.
  • We run more scripts with a different version of YuniQL (v1.3.15.0).

Expected Behavior

YuniQL recognizes that new version of YuniQL has a different schema for the __yuniql_schema_version table and updates it.

Actual behavior

We continue having the same schema for the __yuniql_schema_version.

Is there a YuniQL way of solving this issue?

We continue having:

CREATE TABLE 
    __yuniql_schema_version 
    ( 
        sequence_id SMALLSERIAL NOT NULL, 
        VERSION        CHARACTER VARYING(512) NOT NULL, 
        applied_on_utc TIMESTAMP(6) WITHOUT TIME ZONE DEFAULT timezone('UTC'::TEXT, 
        CURRENT_TIMESTAMP) NOT NULL, 
        applied_by_user         CHARACTER VARYING(32) DEFAULT USER NOT NULL, 
        applied_by_tool         CHARACTER VARYING(32) NOT NULL, 
        applied_by_tool_version CHARACTER VARYING(16) NOT NULL, 
        status                  CHARACTER VARYING(32) NOT NULL, 
        duration_ms             INTEGER NOT NULL, 
        checksum                CHARACTER VARYING(64) NOT NULL, 
        failed_script_path      CHARACTER VARYING(4000), 
        failed_script_error     CHARACTER VARYING(4000), 
        additional_artifacts    CHARACTER VARYING(4000) 
    );

We want to have:

CREATE TABLE 
    __yuniql_schema_version 
    ( 
        sequence_id SMALLSERIAL NOT NULL, 
        VERSION        CHARACTER VARYING(512) NOT NULL, 
        applied_on_utc TIMESTAMP(6) WITHOUT TIME ZONE DEFAULT (CURRENT_TIMESTAMP AT TIME ZONE 'UTC' 
        ::TEXT) NOT NULL, 
        applied_by_user         CHARACTER VARYING(128) DEFAULT USER NOT NULL, 
        applied_by_tool         CHARACTER VARYING(32) NOT NULL, 
        applied_by_tool_version CHARACTER VARYING(16) NOT NULL, 
        status                  CHARACTER VARYING(32) NOT NULL, 
        duration_ms             INTEGER NOT NULL, 
        checksum                CHARACTER VARYING(64) NOT NULL, 
        failed_script_path      CHARACTER VARYING(4000), 
        failed_script_error     CHARACTER VARYING(4000), 
        additional_artifacts    CHARACTER VARYING(4000) 
    );
Edd
  • 1,948
  • 4
  • 21
  • 29

0 Answers0