Versions Compared

Key

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

...

Note that any manual changes made to a Datical-managed environment should ultimately be deployed to all environments in the pipeline. This will allow the pipeline to remain in sync with respect to changes deployed over time. 

...

Solutions

There are three different paths to accomplishing this:

  1. No manual changes - fix issues like normal changes
    1. This is applicable when you have the sufficient time window to root cause the issue, script it, commit into SCM, package and deploy into your pipeline just like normal changes
    2. This means you will always leverage your automation framework
  2. Use a "hotfix" pipeline to package changes and deploy to STAGE and PROD. 
    1. This bypasses deploying into your DEV and QA environments.
    2. You will be responsible for eventually deploying your hotfix changes back into DEV and QA environments. This is typically performed after hotfix changes have released to PROD
  3. An emergency fix is necessary and you only have a small time window to fix the PROD database. In this case, you will root cause your issues, test your fix in STAGE and once validated deploy to PROD

Start by capturing the manual change made in PROD in a SQL script. Commit the script into sql_code SCM repository so that it can be packaged, converted into a changeset and deployed (i.e., backfilled) into all other environments.

Since PROD environment already contains the change, there is no need to deploy the changeset. Instead, you will use Datical's "Change Log Sync" feature to mark the changeset as EXECUTED in PROD environment. This will create an entry in PROD's tracking table (DATABASECHANGELOG) which allows Datical to become aware that the change from this changeset already exists in PROD.

Step-by-step guide

 

...

Performing a Change Log Sync can only be done using Datical GUI. As such, it should be noted that this would be a manual task and could impact release automation platform if not done correctly. Therefore, this path should be taken very rarely and with great caution.

Info

You will need to make sure that your Datical project is connected to your SCM and that you are working on the latest version of your project.

  1. In Datical GUI, get the latest version of the Datical project from SCM. E.g., "git pull" 

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@1ff1d7
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("manual","changes","sync-changelog","synchronize") and type = "page" and space = "DDKB"
labelssynchronize manual changes sync-changelog

...