Skip to content
  • There are no suggestions because the search field is empty.

Deploy LoadControl (Project)

Applies to
Platform: Microsoft SQL Server · Databricks · Fabric Lakehouse · Fabric Warehouse · Oracle

Deploy LoadControl (DeployLoadControl) decides whether the artifacts contain the script that creates the load-control tables and procedures. Keep it true in the project that deploys the load control, and set it to false in projects that use a load control deployed by another project.

Snowflake and the dbt generators do not offer the property.

Values

A Boolean in Project Settings:

  • true (default on all platforms): the artifacts deploy the load control.
  • false: the artifacts assume that the load control exists.

Effect on generated output

On Microsoft SQL Server and Oracle, true adds LoadControl\L000_Loadcontrol_Deployment.sql and LoadControl\deploy_loadcontrol.sql, and deploy.sql calls them after the layers. The script drops and creates all load-control tables, views and procedures; on Microsoft SQL Server it also creates the load-control database and schema when they are missing. With false both files and the call are missing.

Each deployment with Deploy LoadControl set to true drops and recreates the load-control tables. Execution history and execution plans or load configurations you created manually are deleted. Set Deploy LoadControl to false after the first deployment to keep them; Configure LoadControl still registers new load objects.

On Databricks, Fabric Lakehouse and Fabric Warehouse, true adds the notebook <project>_deploy_loadcontrol.ipynb. On Databricks and Fabric Lakehouse it creates or replaces the tables named by the placeholders execution_log_table_name and deployment_log_table_name.

Share one load control between projects

Several projects can register their loaders in one load control. Only the project that deploys it recreates the tables, so deploying any other project keeps the history.

  1. Choose the project that deploys the load control and keep Deploy LoadControl true there.
  2. In every other project, set Deploy LoadControl to false and keep Configure LoadControl true.
  3. In the replacement configuration of every project, set loadcontrol#loadcontrol#database_name and loadcontrol#loadcontrol#schema_name to the same database and schema. On Oracle, set the same load-control schema and connection values.
  4. Deploy the load-control project first, then the other projects. Each project registers its own load configuration, named after the project, and its plan DEV_<project>.

Redeploy the load-control project only when you want to recreate the load control. The configuration of each project registers dependencies only between its own load objects; run the plans of dependent projects in their load order.

Example

The Data Vault project Datavault.Mssql deploys the load control in schema LC and has run its plan once. The Data Store project Datastore.Mssql, with Deploy LoadControl false, is then deployed into the same load control, and its plan runs:

LoadConfig       LoadObjects
Datavault.Mssql  103
Datastore.Mssql  99

ExecutionPlan        Execution  ExecutionResult
DEV_Datavault.Mssql  1          Success
DEV_Datastore.Mssql  2          Success

The execution of the Data Vault plan is still there after the Data Store deployment. A deployment of Datavault.Mssql with Deploy LoadControl true would delete both executions and both plans.

Related articles