From 3299a014b2034b63f809329d28ff4954fc397c2b Mon Sep 17 00:00:00 2001 From: Lubos Racansky Date: Fri, 4 Oct 2024 07:05:22 +0200 Subject: [PATCH] Fix #1712: Liquibase 1.9.x fails on Oracle --- .../1.9.x/20241004-add-unique-constrains.xml | 11 +++++++++++ .../1.9.x/db.changelog-version.xml | 1 + docs/sql/mssql/migration_1.8.0_1.9.0.sql | 10 +++++++--- docs/sql/oracle/migration_1.8.0_1.9.0.sql | 5 ++++- docs/sql/postgresql/migration_1.8.0_1.9.0.sql | 7 +++++-- 5 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 docs/db/changelog/changesets/powerauth-java-server/1.9.x/20241004-add-unique-constrains.xml diff --git a/docs/db/changelog/changesets/powerauth-java-server/1.9.x/20241004-add-unique-constrains.xml b/docs/db/changelog/changesets/powerauth-java-server/1.9.x/20241004-add-unique-constrains.xml new file mode 100644 index 000000000..b2620b694 --- /dev/null +++ b/docs/db/changelog/changesets/powerauth-java-server/1.9.x/20241004-add-unique-constrains.xml @@ -0,0 +1,11 @@ + + + + + Add a unique constraint to pa_application_version.application_key + + + + diff --git a/docs/db/changelog/changesets/powerauth-java-server/1.9.x/db.changelog-version.xml b/docs/db/changelog/changesets/powerauth-java-server/1.9.x/db.changelog-version.xml index 3727156df..ea128572e 100644 --- a/docs/db/changelog/changesets/powerauth-java-server/1.9.x/db.changelog-version.xml +++ b/docs/db/changelog/changesets/powerauth-java-server/1.9.x/db.changelog-version.xml @@ -5,6 +5,7 @@ https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.9.xsd"> + diff --git a/docs/sql/mssql/migration_1.8.0_1.9.0.sql b/docs/sql/mssql/migration_1.8.0_1.9.0.sql index 02d91f7ca..37ef300e6 100644 --- a/docs/sql/mssql/migration_1.8.0_1.9.0.sql +++ b/docs/sql/mssql/migration_1.8.0_1.9.0.sql @@ -3,9 +3,14 @@ ALTER TABLE pa_application_version ALTER COLUMN application_key varchar(32); GO +-- Changeset powerauth-java-server/1.9.x/20241004-add-unique-constrains.xml::1::Lubos Racansky +-- Add a unique constraint to pa_application_version.application_key +ALTER TABLE pa_application_version ADD UNIQUE (application_key); +GO + -- Changeset powerauth-java-server/1.9.x/20240718-add-temporary-keys.xml::1::Petr Dvorak -- Create a new table pa_temporary_key -CREATE TABLE pa_temporary_key (id varchar(37) NOT NULL, application_key varchar(32) NOT NULL, activation_id varchar(37), private_key_encryption int CONSTRAINT DF_pa_temporary_key_private_key_encryption DEFAULT 0 NOT NULL, private_key_base64 varchar(255) NOT NULL, public_key_base64 varchar(255) NOT NULL, timestamp_expires datetime2 NOT NULL, CONSTRAINT PK_PA_TEMPORARY_KEY PRIMARY KEY (id), CONSTRAINT pa_temporary_key_application_key_fk FOREIGN KEY (application_key) REFERENCES pa_application_version(application_key), CONSTRAINT pa_temporary_activation_id_fk FOREIGN KEY (activation_id) REFERENCES pa_activation(activation_id)); +CREATE TABLE pa_temporary_key (id varchar(37) NOT NULL, application_key varchar(32) NOT NULL, activation_id varchar(37), private_key_encryption int CONSTRAINT DF_pa_temporary_key_private_key_encryption DEFAULT 0 NOT NULL, private_key_base64 varchar(255) NOT NULL, public_key_base64 varchar(255) NOT NULL, timestamp_expires datetime2 NOT NULL, CONSTRAINT PK_PA_TEMPORARY_KEY PRIMARY KEY (id), CONSTRAINT pa_temporary_activation_id_fk FOREIGN KEY (activation_id) REFERENCES pa_activation(activation_id), CONSTRAINT pa_temporary_key_application_key_fk FOREIGN KEY (application_key) REFERENCES pa_application_version(application_key)); GO -- Changeset powerauth-java-server/1.9.x/20240718-add-temporary-keys.xml::2::Petr Dvorak @@ -71,5 +76,4 @@ GO -- Changeset powerauth-java-server/1.9.x/20240704-callback-event-table.xml::9::Jan Pesek -- Add failure_count column to pa_application_callback table. ALTER TABLE pa_application_callback ADD failure_count int CONSTRAINT DF_pa_application_callback_failure_count DEFAULT 0 NOT NULL; -GO - +GO \ No newline at end of file diff --git a/docs/sql/oracle/migration_1.8.0_1.9.0.sql b/docs/sql/oracle/migration_1.8.0_1.9.0.sql index 73b474f3a..506eb364b 100644 --- a/docs/sql/oracle/migration_1.8.0_1.9.0.sql +++ b/docs/sql/oracle/migration_1.8.0_1.9.0.sql @@ -2,6 +2,10 @@ -- Change type of pa_application_version.application_key to varchar(32) ALTER TABLE pa_application_version MODIFY application_key VARCHAR2(32); +-- Changeset powerauth-java-server/1.9.x/20241004-add-unique-constrains.xml::1::Lubos Racansky +-- Add a unique constraint to pa_application_version.application_key +ALTER TABLE pa_application_version ADD UNIQUE (application_key); + -- Changeset powerauth-java-server/1.9.x/20240718-add-temporary-keys.xml::1::Petr Dvorak -- Create a new table pa_temporary_key CREATE TABLE pa_temporary_key (id VARCHAR2(37) NOT NULL, application_key VARCHAR2(32) NOT NULL, activation_id VARCHAR2(37), private_key_encryption INTEGER DEFAULT 0 NOT NULL, private_key_base64 VARCHAR2(255) NOT NULL, public_key_base64 VARCHAR2(255) NOT NULL, timestamp_expires TIMESTAMP NOT NULL, CONSTRAINT PK_PA_TEMPORARY_KEY PRIMARY KEY (id), CONSTRAINT pa_temporary_key_application_key_fk FOREIGN KEY (application_key) REFERENCES pa_application_version(application_key), CONSTRAINT pa_temporary_activation_id_fk FOREIGN KEY (activation_id) REFERENCES pa_activation(activation_id)); @@ -57,4 +61,3 @@ ALTER TABLE pa_application_callback ADD timestamp_last_failure TIMESTAMP(6); -- Changeset powerauth-java-server/1.9.x/20240704-callback-event-table.xml::9::Jan Pesek -- Add failure_count column to pa_application_callback table. ALTER TABLE pa_application_callback ADD failure_count INTEGER DEFAULT 0 NOT NULL; - diff --git a/docs/sql/postgresql/migration_1.8.0_1.9.0.sql b/docs/sql/postgresql/migration_1.8.0_1.9.0.sql index e4e72c7ac..cc31665b6 100644 --- a/docs/sql/postgresql/migration_1.8.0_1.9.0.sql +++ b/docs/sql/postgresql/migration_1.8.0_1.9.0.sql @@ -2,9 +2,13 @@ -- Change type of pa_application_version.application_key to varchar(32) ALTER TABLE pa_application_version ALTER COLUMN application_key TYPE VARCHAR(32) USING (application_key::VARCHAR(32)); +-- Changeset powerauth-java-server/1.9.x/20241004-add-unique-constrains.xml::1::Lubos Racansky +-- Add a unique constraint to pa_application_version.application_key +ALTER TABLE pa_application_version ADD UNIQUE (application_key); + -- Changeset powerauth-java-server/1.9.x/20240718-add-temporary-keys.xml::1::Petr Dvorak -- Create a new table pa_temporary_key -CREATE TABLE pa_temporary_key (id VARCHAR(37) NOT NULL, application_key VARCHAR(32) NOT NULL, activation_id VARCHAR(37), private_key_encryption INTEGER DEFAULT 0 NOT NULL, private_key_base64 VARCHAR(255) NOT NULL, public_key_base64 VARCHAR(255) NOT NULL, timestamp_expires TIMESTAMP WITHOUT TIME ZONE NOT NULL, CONSTRAINT pa_temporary_key_pkey PRIMARY KEY (id), CONSTRAINT pa_temporary_key_application_key_fk FOREIGN KEY (application_key) REFERENCES pa_application_version(application_key), CONSTRAINT pa_temporary_activation_id_fk FOREIGN KEY (activation_id) REFERENCES pa_activation(activation_id)); +CREATE TABLE pa_temporary_key (id VARCHAR(37) NOT NULL, application_key VARCHAR(32) NOT NULL, activation_id VARCHAR(37), private_key_encryption INTEGER DEFAULT 0 NOT NULL, private_key_base64 VARCHAR(255) NOT NULL, public_key_base64 VARCHAR(255) NOT NULL, timestamp_expires TIMESTAMP WITHOUT TIME ZONE NOT NULL, CONSTRAINT pa_temporary_key_pkey PRIMARY KEY (id), CONSTRAINT pa_temporary_activation_id_fk FOREIGN KEY (activation_id) REFERENCES pa_activation(activation_id), CONSTRAINT pa_temporary_key_application_key_fk FOREIGN KEY (application_key) REFERENCES pa_application_version(application_key)); -- Changeset powerauth-java-server/1.9.x/20240718-add-temporary-keys.xml::2::Petr Dvorak -- Create a new index on pa_temporary_key(timestamp_expires) @@ -57,4 +61,3 @@ ALTER TABLE pa_application_callback ADD timestamp_last_failure TIMESTAMP(6) WITH -- Changeset powerauth-java-server/1.9.x/20240704-callback-event-table.xml::9::Jan Pesek -- Add failure_count column to pa_application_callback table. ALTER TABLE pa_application_callback ADD failure_count INTEGER DEFAULT 0 NOT NULL; -