Announcement: You can find the guides for Commerce 7.5 and later on the new Elastic Path Documentation site. The Developer Center continues to support Commerce 6.13.0 through 7.4.1.Visit new site

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.