Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Sometimes it is necessary to make manual changes into database environments.

For example, a release went out to PROD environment, however, there was an issue which impacted the PROD database. The issue is immediately root caused and the solution is applied manually to PROD database. How then do you make Datical aware of those manual changes?

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.

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" 



  • No labels