Skip to Content
0
Nov 27, 2020 at 01:07 PM

PROD to test environment database migration considerations

34 Views Last edit Nov 27, 2020 at 01:07 PM 2 rev

Hi team,

Regarding PROD database migration to a test environment, I would like to have your recommendation about which general considerations should we take to avoid any unexpected issue related with PROD data in a test environment like:

  • Send notifications to real customers
  • Send notifications to an external system from the PROD ecosystem duplicating Client data
  • Send notifications to an external system from the PROD ecosystem duplicating External data
  • I have identified a few items that I am specifying here. However, I would appreciate if you can take a look at them and add some other recommendations in case you consider.

    1 - Properties

    Take prod/local.properties as a reference for the deployment to the test environment

    a - Adjust all the prod storefront domains to point to the test environment storefront domain (to be able to access to access the storefront on the new environment)

    b - Adjust all the integrations domains to point to its STG environment provided instead PRD (to avoid sending data to external prod ecosystem)

    c - Adjust all the properties related with automatic processes like:

    1. Disable task engine for order & mail processes (task.engine.loadonstartup=false)
    2. Disable timer task (cronjob.timertask.loadonstartup=false)
    3. Block mail server configuration (mail.smtp.server=wrongvalue)
    4. Anything else here?

    d - Adjust environment.id property to have the id of the test environment and not prod value

    e - Anything else that you can recommend us?

    2 - Steps to execute after deploying the code

    2.1 - Update via impex script the database models that depend on some properties values (keys, endpoints, etc. that may be configured on models)

    2.2 - Stop all the jobs & processes that could be already running on the database (CREATED, WAITING or RUNNING status)

    Regarding this topic specifically I would like to have you help to create something like a groovy script so we can stop/disable everything running on the migrated database (Business processes, tasks, triggers, etc.)

    2.3 - Anything else that you can recommend us?

    3 - Any other topic that should we take into consideration?

    Regards,

    Mauro