Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagetext
titlePDPSTATISTICS_ROLLUP
MariaDB [policy]> select * from pdpstatistics_rollup;
+-------+---------+--------------+-----------------+------+-------+-----------------------+---------------------------+------------------------------+-------------------------+-----------------------------+--------------------------------+
| name  | version | PDPGROUPNAME | PDPSUBGROUPNAME | YEAR | MONTH | AVG_POLICYDEPLOYCOUNT | AVG_POLICYDEPLOYFAILCOUNT | AVG_POLICYDEPLOYSUCCESSCOUNT | AVG_POLICYEXECUTEDCOUNT | AVG_POLICYEXECUTEDFAILCOUNT | AVG_POLICYEXECUTEDSUCCESSCOUNT |
+-------+---------+--------------+-----------------+------+-------+-----------------------+---------------------------+------------------------------+-------------------------+-----------------------------+--------------------------------+
| name2 | 0.0.0   | group        | subgroup        | 2004 |     3 |                     2 |                         1 |                            1 |                       2 |                           1 |                              1 |
| name2 | 0.0.0   | group        | subgroup        | 2021 |     5 |                     2 |                         1 |                            1 |                       2 |                           1 |                              1 |
+-------+---------+--------------+-----------------+------+-------+-----------------------+---------------------------+------------------------------+-------------------------+-----------------------------+--------------------------------+



Test 20: Test preconditions

Add dbchangelog-sql8.yaml



Code Block
languageyml
titledbchangelog-sql8.yaml
databaseChangeLog:
  -  changeSet:  
       id:  policy-20
       author:  admin  
       label: release1.4
       preConditions:
         - onFail: MARK_RAN
         - not:
           - tableExists:
               tableName: toscaservicetemplate
       changes:
       - tagDatabase:  
          tag:  25       
       -  sql:  
           comment:  create toscaservicetemplate 
           dbms:  '!h2,  oracle,  mysql, mariadb'  
           endDelimiter:  \nGO  
           splitStatements:  true  
           stripComments:  true               
           sql:  CREATE TABLE toscaservicetemplate (
                 `DESCRIPTION` VARCHAR(255) NULL, 
                 TOSCADEFINITIONSVERSION VARCHAR(255) NULL, derived_from_name VARCHAR(255) NULL, 
                 derived_from_version VARCHAR(255) NULL, name VARCHAR(120) NOT NULL, 
                 version VARCHAR(20) NOT NULL, capabilityTypesVersion VARCHAR(20) NULL, 
                 capabilityTypesName VARCHAR(120) NULL, dataTypesName VARCHAR(120) NULL, 
                 dataTypesVersion VARCHAR(20) NULL, nodeTypesVersion VARCHAR(20) NULL, 
                 nodeTypesName VARCHAR(120) NULL, policyTypesName VARCHAR(120) NULL, 
                 policyTypesVersion VARCHAR(20) NULL, relationshipTypesVersion VARCHAR(20) NULL, 
                 relationshipTypesName VARCHAR(120) NULL, 
                 topologyTemplateLocalName VARCHAR(120) NULL, 
                 topologyTemplateParentKeyName VARCHAR(120) NULL, 
                 topologyTemplateParentKeyVersion VARCHAR(15) NULL, 
                 topologyTemplateParentLocalName VARCHAR(120) NULL, 
                 CONSTRAINT PK_TOSCASERVICETEMPLATE PRIMARY KEY (name, version));   
  -  changeSet:  
       id:  policy-21
       author:  admin  
       label: release1.4
       preConditions:
        - onFail: MARK_RAN
        - sqlCheck:
            expectedResult: 0
            sql: select count(*) from toscaservicetemplate where name='ToscaServiceTemplateSimple' and version='1.0.0';
       changes:
       - tagDatabase:  
          tag:  26        
       -  sql:  
           comment:  insert toscaservicetemplate; 
           dbms:  '!h2,  oracle,  mysql, mariadb'  
           endDelimiter:  \nGO  
           splitStatements:  true  
           stripComments:  true    
           sql:  INSERT INTO toscaservicetemplate (`DESCRIPTION`, TOSCADEFINITIONSVERSION, 
                 derived_from_name, derived_from_version, name, version, capabilityTypesVersion, 
                 capabilityTypesName, dataTypesName, dataTypesVersion, nodeTypesVersion, 
                 nodeTypesName, policyTypesName, policyTypesVersion, relationshipTypesVersion, 
                 relationshipTypesName, topologyTemplateLocalName, topologyTemplateParentKeyName, 
                 topologyTemplateParentKeyVersion, topologyTemplateParentLocalName) 
                 VALUES (NULL, 'tosca_simple_yaml_1_1_0', NULL, NULL, 'ToscaServiceTemplateSimple', 
                 '1.0.0', NULL, NULL, 'ToscaDataTypesSimple', '1.0.0', NULL, NULL, 
                 'ToscaPolicyTypesSimple', '1.0.0', NULL, NULL, NULL, NULL, NULL, NULL); 
  -  changeSet:  
       id:  policy-22
       author:  admin  
       label: release1.4
       preConditions:
        - onFail: MARK_RAN
        - sqlCheck:
            expectedResult: 0
            sql: select count(*) from information_schema.table_constraints where constraint_name ='FK_ToscaServiceTemplate_capabilityTypesName';
       changes:
       - tagDatabase:  
          tag:  27       
       -  sql:  
           comment:  add constraint toscaservicetemplate; 
           dbms:  '!h2,  oracle,  mysql, mariadb'  
           endDelimiter:  \nGO  
           splitStatements:  true  
           stripComments:  true    
           sql:  ALTER TABLE toscaservicetemplate ADD CONSTRAINT 
                 FK_ToscaServiceTemplate_capabilityTypesName FOREIGN KEY 
                 (capabilityTypesName, capabilityTypesVersion) REFERENCES 
                 toscacapabilitytypes (name, version) ON UPDATE RESTRICT ON DELETE RESTRICT;            


Update liquibase.properties to point to dbchangelog-sql8.yaml

Run mvn liquibase:update


[INFO] Marking ChangeSet: dbchangelog-sql8.yaml::policy-20::admin ran despite precondition failure due to onFail='MARK_RAN':
dbchangelog-sql8.yaml : Not precondition failed

[INFO] SELECT MAX(ORDEREXECUTED) FROM DATABASECHANGELOG
[INFO] INSERT INTO DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, `DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID, TAG) VALUES ('policy-20', 'admin', 'dbchangelog-sql8.yaml', NOW(), 26, '8:2954c7c4f467425b3ea5d35bf45ef4a9', 'tagDatabase; sql', '', 'MARK_RAN', NULL, NULL, '3.8.0', '1942893174', '25')
[INFO] select count(*) from toscaservicetemplate where name='ToscaServiceTemplateSimple' and version='1.0.0'
[INFO] Marking ChangeSet: dbchangelog-sql8.yaml::policy-21::admin ran despite precondition failure due to onFail='MARK_RAN':
dbchangelog-sql8.yaml : SQL Precondition failed. Expected '0' got '1'

[INFO] INSERT INTO DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, `DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID, TAG) VALUES ('policy-21', 'admin', 'dbchangelog-sql8.yaml', NOW(), 27, '8:d86e5dad1fce9bb955d7cb0558b29707', 'tagDatabase; sql', '', 'MARK_RAN', NULL, NULL, '3.8.0', '1942893174', '26')
[INFO] select count(*) from information_schema.table_constraints where constraint_name ='FK_ToscaServiceTemplate_capabilityTypesName'
[INFO] Marking ChangeSet: dbchangelog-sql8.yaml::policy-22::admin ran despite precondition failure due to onFail='MARK_RAN':
dbchangelog-sql8.yaml : SQL Precondition failed. Expected '0' got '1'

[INFO] INSERT INTO DATABASECHANGELOG (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, `DESCRIPTION`, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID, TAG) VALUES ('policy-22', 'admin', 'dbchangelog-sql8.yaml', NOW(), 28, '8:af557b428391cfcdd55e7f554c3e5cad', 'tagDatabase; sql', '', 'MARK_RAN', NULL, NULL, '3.8.0', '1942893174', '27')


None of the SQL staements ran as all the preconditions failed