Elastic Path Production Tools

Architecture

Architecture

The following diagram provides the high-level processes that are executed when the DataPopulationCore.runActionExecutor() command is run:

The following high-level actions implement the following functionality:
  • Starting up:
    • Creates a temporary working directory.
    • Identifies the type of database used and create a filtered copy of the importexporttool.config file, which is used to run the import/export tool during the database update action in the pipeline.
  • Initializing the database: Executes the SQL script or stored procedure that deletes and recreates the database.
  • Filtering data:
    • Loads placeholder values from filtering.properties file and uses them to replace placeholders in all files contained in the <dataDirectory>/data directory.
    • The filtered results are stored in the workingDirectory. This step does not interact with the database.
  • Updating database:
    • Starts Liquibase to update the schema and populate the database. The following Liquibase change log files are filtered and copied to the workingDirectory and before processing them:

      • <dataDirectory>/schema/schema-initializer-changelog.xml: Creates the schema for the Elastic Path database and processes any custom schema change set for the project.
      • <dataDirectory>/data/liquibase-changelog.xml: Stores all data related change logs for the project.

The data-population-core-config.xml file specifies the sequence of running commands for data population.