Breadcrumbs

Package Dependencies

Package Dependencies show information about upstream or downstream package dependencies.


See also:


Usage

Package Dependencies can be found inside each Package:

image-20230215-091050.png

Notes

Package Dependencies affects how Packages can be deployed to different Runtime environments in Deployment Management.

Circular dependencies
Be careful with Package design in order to prevent Package circular dependencies. Those can happen with either foreign keys or with Entity Mapping. Foreign keys and Entity Mapping can be done from one Package to another Package in one direction only.


Examples

No dependencies

When Entities in a Package do not reference any other Entities in other Packages, the Package Dependencies is empty:

image-20230207-113914.png

Package dependencies with Entity Mapping

Package dependency will be created, when Entities from different packages are mapped together in Entity mapping.

Source Package

Source Entity

Target Package

Target Entity

STG_NY_TAXI

staging.STG_NY_TAXI_TRIPDATA

DV_TAXI_TRIP

dv.H_TAXI_TRIP

image-20230207-113920.png

In STG_NY_TAXI package, DEPENDENT PACKAGE is now the upstream DV_TAXI_TRIP package.

image-20230207-113923.png

In DV_TAXI_TRIP package, DEPENDENCY PACKAGE is now the downstream STG_NY_TAXI -package.

image-20230207-113930.png

Package dependencies with References

Package dependency will be created, when Entities from different packages are referenced with Foreign keys.

Source Package

Source Entity

Target Package

Target Entity

DV_TAXI_TRIP

dv.L_TAXI_TRIP

DV_TAXI_LOCATION

dv.H_TAXI_TRIP_LOCATION

In DV_TAXI_TRIP package, Foreign keys are added from dv.L_TAXI_TRIP entity to dv.H_TAXI_TRIP_LOCATION entity in DV_TAXI_LOCATION package:

image-20230207-113935.png

In DV_TAXI_TRIP package, DV_TAXI_LOCATION package is added to DEPENDENCY PACKAGE:

image-20230207-113941.png

In DV_TAXI_LOCATION package, DV_TAXI_TRIP is added to DEPENDENT PACKAGE:

image-20230207-113945.png

Circular dependencies with Foreign keys

References can cause circular dependencies

Packages can reference another package with Foreign keys only to one direction.

In this example, package DV_TAXI_TRIP already references package DV_TAXI_LOCATION with References, as seen in previous example.

If references are now added to DV_TAXI_LOCATION package to reference DV_TAXI_TRIP package, an error will occur:

image-20230207-113957.png
image-20230207-114004.png