diff options
14 files changed, 314 insertions, 1 deletions
diff --git a/policy-db-migrator/smoke-test/mariadb-tests.sh b/policy-db-migrator/smoke-test/mariadb-tests.sh index 418a4740..513300c0 100755 --- a/policy-db-migrator/smoke-test/mariadb-tests.sh +++ b/policy-db-migrator/smoke-test/mariadb-tests.sh @@ -56,6 +56,11 @@ L_DOWNGRADE_COUNT=$(ls /home/policy/sql/1200/downgrade/*.sql | wc -l) TOTAL_SQLS_UPGRADE=$(($TOTAL_SQLS_UPGRADE+$L_UPGRADE_COUNT)) TOTAL_SQLS_DOWNGRADE=$(($TOTAL_SQLS_DOWNGRADE+$L_DOWNGRADE_COUNT)) +M_UPGRADE_COUNT=$(ls /home/policy/sql/1300/upgrade/*.sql | wc -l) +M_DOWNGRADE_COUNT=$(ls /home/policy/sql/1300/downgrade/*.sql | wc -l) +TOTAL_SQLS_UPGRADE=$(($TOTAL_SQLS_UPGRADE+$M_UPGRADE_COUNT)) +TOTAL_SQLS_DOWNGRADE=$(($TOTAL_SQLS_DOWNGRADE+$M_DOWNGRADE_COUNT)) + NEW_SQL_EXECUTIONS=0 START_VERSION="" PREVIOUS_SQL_EXECUTIONS=0 @@ -331,7 +336,7 @@ sleep 5 # Test 13 - Full downgrade start_test /opt/app/policy/bin/prepare_downgrade.sh ${SQL_DB} -/opt/app/policy/bin/db-migrator -s ${SQL_DB} -o downgrade -f 1200 -t 0 +/opt/app/policy/bin/db-migrator -s ${SQL_DB} -o downgrade -f 1300 -t 0 end_test let NEW_SQL_EXECUTIONS=$RECENT_SQL_EXECUTIONS-$PREVIOUS_SQL_EXECUTIONS check_results $END_STATUS 'downgrade' "${START_VERSION}" "0" $NEW_SQL_EXECUTIONS $TOTAL_SQLS_DOWNGRADE diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0100-statistics_sequence.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0100-statistics_sequence.sql new file mode 100644 index 00000000..1bb2a4bc --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0100-statistics_sequence.sql @@ -0,0 +1,23 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +CREATE TABLE IF NOT EXISTS statistics_sequence ( + SEQ_NAME VARCHAR(50) NOT NULL, + SEQ_COUNT DECIMAL(38) DEFAULT NULL NULL, + CONSTRAINT PK_STATS_SEQUENCE PRIMARY KEY (SEQ_NAME)); diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0110-jpapdpstatistics_enginestats.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0110-jpapdpstatistics_enginestats.sql new file mode 100644 index 00000000..fa7f1c20 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0110-jpapdpstatistics_enginestats.sql @@ -0,0 +1,32 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +CREATE TABLE IF NOT EXISTS jpapdpstatistics_enginestats ( + AVERAGEEXECUTIONTIME DOUBLE PRECISION DEFAULT NULL NULL, + ENGINEID VARCHAR(255) NULL, + ENGINETIMESTAMP BIGINT DEFAULT NULL NULL, + ENGINEWORKERSTATE INT DEFAULT NULL NULL, + EVENTCOUNT BIGINT DEFAULT NULL NULL, + LASTENTERTIME BIGINT DEFAULT NULL NULL, + LASTEXECUTIONTIME BIGINT DEFAULT NULL NULL, + LASTSTART BIGINT DEFAULT NULL NULL, + UPTIME BIGINT DEFAULT NULL NULL, + ID BIGINT DEFAULT NULL NULL, + name VARCHAR(120) NULL, + version VARCHAR(20) NULL); diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0120-pdpstatistics.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0120-pdpstatistics.sql new file mode 100644 index 00000000..deb4781d --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/downgrade/0120-pdpstatistics.sql @@ -0,0 +1,36 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +CREATE TABLE IF NOT EXISTS pdpstatistics ( + PDPGROUPNAME VARCHAR(120) NULL, + PDPSUBGROUPNAME VARCHAR(120) NULL, + POLICYDEPLOYCOUNT BIGINT DEFAULT NULL NULL, + POLICYDEPLOYFAILCOUNT BIGINT DEFAULT NULL NULL, + POLICYDEPLOYSUCCESSCOUNT BIGINT DEFAULT NULL NULL, + POLICYEXECUTEDCOUNT BIGINT DEFAULT NULL NULL, + POLICYEXECUTEDFAILCOUNT BIGINT DEFAULT NULL NULL, + POLICYEXECUTEDSUCCESSCOUNT BIGINT DEFAULT NULL NULL, + POLICYUNDEPLOYCOUNT BIGINT DEFAULT NULL NULL, + POLICYUNDEPLOYFAILCOUNT BIGINT DEFAULT NULL NULL, + POLICYUNDEPLOYSUCCESSCOUNT BIGINT DEFAULT NULL NULL, + ID BIGINT NOT NULL, + timeStamp TIMESTAMP(6) NOT NULL, + name VARCHAR(120) NOT NULL, + version VARCHAR(20) NOT NULL, + CONSTRAINT PK_PDPSTATISTICS PRIMARY KEY (ID)); diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0100-pdpstatistics.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0100-pdpstatistics.sql new file mode 100644 index 00000000..b3dac553 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0100-pdpstatistics.sql @@ -0,0 +1,20 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +DROP TABLE pdpstatistics; diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0110-jpapdpstatistics_enginestats.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0110-jpapdpstatistics_enginestats.sql new file mode 100644 index 00000000..48300cc5 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0110-jpapdpstatistics_enginestats.sql @@ -0,0 +1,20 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +DROP TABLE jpapdpstatistics_enginestats; diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0120-statistics_sequence.sql b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0120-statistics_sequence.sql new file mode 100644 index 00000000..aea12698 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/postgres/1300/upgrade/0120-statistics_sequence.sql @@ -0,0 +1,20 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +DROP TABLE statistics_sequence; diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1200/upgrade/0130-statistics_sequence.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1200/upgrade/0130-statistics_sequence.sql index 7215d811..6c74bba0 100644 --- a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1200/upgrade/0130-statistics_sequence.sql +++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1200/upgrade/0130-statistics_sequence.sql @@ -20,3 +20,5 @@ CREATE TABLE IF NOT EXISTS statistics_sequence (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(38) DEFAULT NULL, PRIMARY KEY PK_SEQUENCE (SEQ_NAME)); INSERT INTO statistics_sequence(SEQ_NAME, SEQ_COUNT) VALUES('SEQ_GEN', (SELECT IFNULL(max(id),0) FROM pdpstatistics)); + +TRUNCATE TABLE sequence; diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0100-pdpstatistics.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0100-pdpstatistics.sql new file mode 100644 index 00000000..e4d41339 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0100-pdpstatistics.sql @@ -0,0 +1,38 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +CREATE TABLE IF NOT EXISTS pdpstatistics ( + PDPGROUPNAME VARCHAR(120) NULL, + PDPSUBGROUPNAME VARCHAR(120) NULL, + POLICYDEPLOYCOUNT BIGINT DEFAULT NULL, + POLICYDEPLOYFAILCOUNT BIGINT DEFAULT NULL, + POLICYDEPLOYSUCCESSCOUNT BIGINT DEFAULT NULL, + POLICYEXECUTEDCOUNT BIGINT DEFAULT NULL, + POLICYEXECUTEDFAILCOUNT BIGINT DEFAULT NULL, + POLICYEXECUTEDSUCCESSCOUNT BIGINT DEFAULT NULL, + POLICYUNDEPLOYCOUNT BIGINT DEFAULT NULL, + POLICYUNDEPLOYFAILCOUNT BIGINT DEFAULT NULL, + POLICYUNDEPLOYSUCCESSCOUNT BIGINT DEFAULT NULL, + ID BIGINT NOT NULL, + timeStamp datetime NOT NULL, + name VARCHAR(120) NOT NULL, + version VARCHAR(20) NOT NULL, + PRIMARY KEY PK_PDPSTATISTICS (ID)); + +CREATE INDEX IDXTSIDX1 ON pdpstatistics(timeStamp, name, version); diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0110-jpapdpstatistics_enginestats.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0110-jpapdpstatistics_enginestats.sql new file mode 100644 index 00000000..6faa4b8c --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0110-jpapdpstatistics_enginestats.sql @@ -0,0 +1,33 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +CREATE TABLE IF NOT EXISTS jpapdpstatistics_enginestats ( + AVERAGEEXECUTIONTIME DOUBLE DEFAULT NULL, + ENGINEID VARCHAR(255) DEFAULT NULL, + ENGINETIMESTAMP BIGINT DEFAULT NULL, + ENGINEWORKERSTATE INT DEFAULT NULL, + EVENTCOUNT BIGINT DEFAULT NULL, + LASTENTERTIME BIGINT DEFAULT NULL, + LASTEXECUTIONTIME BIGINT DEFAULT NULL, + LASTSTART BIGINT DEFAULT NULL, + UPTIME BIGINT DEFAULT NULL, + ID BIGINT DEFAULT NULL, + name VARCHAR(120) DEFAULT NULL, + version VARCHAR(20) DEFAULT NULL); + diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0120-statistics_sequence.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0120-statistics_sequence.sql new file mode 100644 index 00000000..d5f9b215 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/downgrade/0120-statistics_sequence.sql @@ -0,0 +1,23 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +CREATE TABLE IF NOT EXISTS statistics_sequence ( + SEQ_NAME VARCHAR(50) NOT NULL, + SEQ_COUNT DECIMAL(38) DEFAULT NULL, + PRIMARY KEY PK_SEQUENCE (SEQ_NAME)); diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0100-pdpstatistics.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0100-pdpstatistics.sql new file mode 100644 index 00000000..f6b8d958 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0100-pdpstatistics.sql @@ -0,0 +1,21 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +DROP INDEX IDXTSIDX1 ON pdpstatistics; +DROP TABLE pdpstatistics; diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0110-jpapdpstatistics_enginestats.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0110-jpapdpstatistics_enginestats.sql new file mode 100644 index 00000000..48300cc5 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0110-jpapdpstatistics_enginestats.sql @@ -0,0 +1,20 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +DROP TABLE jpapdpstatistics_enginestats; diff --git a/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0120-statistics_sequence.sql b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0120-statistics_sequence.sql new file mode 100644 index 00000000..aea12698 --- /dev/null +++ b/policy-db-migrator/src/main/docker/config/policyadmin/sql/1300/upgrade/0120-statistics_sequence.sql @@ -0,0 +1,20 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2023 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +DROP TABLE statistics_sequence; |