Versions Compared

Key

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

...

None of the SQL statements ran as all the preconditions failed

The above YAML can be rewriiten like this:


Code Block
languageyml
titledbchangelog-sql9.yaml
databaseChangeLog:
  -  changeSet:  
       id:  policy-23
       author:  admin  
       label: release1.4
       preConditions:
         - onFail: MARK_RAN
         - not:
           - tableExists:
               tableName: toscaservicetemplate
       changes:
       - tagDatabase:  
          tag:  28       
       -  sqlFile:  
           comment:  create toscaservicetemplate 
           dbms:  '!h2,  oracle,  mysql, mariadb'  
           endDelimiter:  \nGO  
           splitStatements:  true  
           stripComments:  true               
           path: sql/create_table_toscaservicetemplate.sql
           relativeToChangelogFile: true   
  -  changeSet:  
       id:  policy-24
       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:  29        
       -  sqlFile:  
           comment:  insert toscaservicetemplate; 
           dbms:  '!h2,  oracle,  mysql, mariadb'  
           endDelimiter:  \nGO  
           splitStatements:  true  
           stripComments:  true    
           path: sql/insert_toscaservicetemplate.sql
           relativeToChangelogFile: true   
  -  changeSet:  
       id:  policy-25
       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:  28      
       -  sqlFile:  
           comment:  add constraint toscaservicetemplate; 
           dbms:  '!h2,  oracle,  mysql, mariadb'  
           endDelimiter:  \nGO  
           splitStatements:  true  
           stripComments:  true    
           path: sql/add_toscaservicetemplate_constraint.sql
           relativeToChangelogFile: true               


The embedded SQL has been removed from the changeLog and put in separate SQL files.


Common tests used in liquibase are available here: common.tests.changelog.yaml

...