Versions Compared

Key

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

...

Process for negating changes is different for stored logic and ddl/dml code.

Changes in "data_dml", "ddl", "ddl_direct", "sql", or "sql_direct"

...

folders

We will assume that a script by the name of "international_billing.sql" was packaged from "sql_direct" directory. This script created several tables. One of those tables "international_billing_custom" is not needed. Steps below will guide you how to negate this change, i.e., drop table international_billing_custom

...

Info
titleBest Practice

Prior to deploying your changes to the target environment, especially when deploying to PROD, run a Forecast to check that negating changesets are getting picked up by your release labels and deployed in the correct order.


Changes in "procedure", "function", "package", "packagebody", "trigger" and "view"

...

stored logic folders

Note: Scripts committed into one of these directories do not move to the "archive" directory. All stored logic scripts stay in their original directories after packaging.

...

  1. Since scripts in the "procedure" directory do not get archived, the original faulty script is already exists in that directory.
  2. The Developer will checkout the script from SCM 
  3. Rework the script.
  4. Commit the reworked script using the same file name and in the same directory where it was originally placed ("procedure").
  5. Packager will detect a new commit in the "procedure" directory. As a result, a second changeset will be created for the same procedure.
  6. Because the reworked script was packaged in a later commit relative to the original faulty script, Datical will deploy the reworked script in the same order as the SCM commit.
    1. For example, when deploy changes to PROD environment, Datical will deploy the first changeset for "intl_cust_dep" procedure. This will create the procedure in PROD with faulty code. Datical will then proceed with deploying other changesets including the reworked changeset which will update the procedure with new code.

...


Filter by label (Content by label)
showLabelsfalse
max5
spacesDDKB
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ( "negate" , "labels" , "abandon" ) and type = "page" and space = "DDKB"
labelsnegate labels abandon

...