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)
);