From 984d1f2d90fee958d545da6924c3628f87fac840 Mon Sep 17 00:00:00 2001 From: lukegleeson Date: Tue, 4 Oct 2022 16:07:37 +0100 Subject: Make CPS/NCMP upgradeable Liquibase step to add CM Handle Advised state to existing CM Handles Issue-ID: CPS-1312 Signed-off-by: lukegleeson Change-Id: I8077e66c64946f6ce092daa96ee40cd935fe0b72 --- cps-ri/src/main/resources/changelog/changelog-master.yaml | 4 +++- .../db/changes/16-insert-cm-handle-state-forward.sql | 3 +++ .../db/changes/16-insert-cm-handle-state-rollback.sql | 4 ++++ .../changelog/db/changes/16-insert-cm-handle-state.yaml | 11 +++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql create mode 100644 cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql create mode 100644 cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml (limited to 'cps-ri/src/main') diff --git a/cps-ri/src/main/resources/changelog/changelog-master.yaml b/cps-ri/src/main/resources/changelog/changelog-master.yaml index 218e78b85..cb5392ba5 100644 --- a/cps-ri/src/main/resources/changelog/changelog-master.yaml +++ b/cps-ri/src/main/resources/changelog/changelog-master.yaml @@ -45,4 +45,6 @@ databaseChangeLog: - include: file: changelog/db/changes/14-loadData-dmi-registry-2022-05-10-schema-set.yaml - include: - file: changelog/db/changes/15-rename-column-yang-resource-table.yaml \ No newline at end of file + file: changelog/db/changes/15-rename-column-yang-resource-table.yaml + - include: + file: changelog/db/changes/16-insert-cm-handle-state.yaml \ No newline at end of file diff --git a/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql new file mode 100644 index 000000000..64b185f3b --- /dev/null +++ b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-forward.sql @@ -0,0 +1,3 @@ +create view cmHandles as select * from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]$'; +insert into fragment(xpath, attributes, anchor_id, parent_id, dataspace_id, schema_node_id) select concat(xpath, '/state'), to_jsonb(concat('{"cm-handle-state": "ADVISED", "last-update-time": "', to_char(now(), 'YYYY-MM-DD"T"HH24:MI:SS.MSTZHTZM'), '"}')::json), anchor_id, id, dataspace_id, schema_node_id from cmHandles; +drop view cmHandles; \ No newline at end of file diff --git a/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql new file mode 100644 index 000000000..aaf05a24c --- /dev/null +++ b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state-rollback.sql @@ -0,0 +1,4 @@ +delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state/lock-reason$'; +delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state/datastores/operational$'; +delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state/datastores$'; +delete from fragment where xpath ~* '^/dmi-registry/cm-handles\[@id=''[\w\-]+''\]/state$'; \ No newline at end of file diff --git a/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml new file mode 100644 index 000000000..0f8c429f4 --- /dev/null +++ b/cps-ri/src/main/resources/changelog/db/changes/16-insert-cm-handle-state.yaml @@ -0,0 +1,11 @@ +databaseChangeLog: + - changeSet: + author: cps + label: insert-cm-handle-state + id: 16 + changes: + - sqlFile: + path: changelog/db/changes/16-insert-cm-handle-state-forward.sql + rollback: + - sqlFile: + path: changelog/db/changes/16-insert-cm-handle-state-rollback.sql \ No newline at end of file -- cgit 1.2.3-korg