Package Dependencies
Package Dependencies show information about upstream or downstream package dependencies.
See also:
Usage
Package Dependencies can be found inside each Package:
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:
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 |
In STG_NY_TAXI package, DEPENDENT PACKAGE is now the upstream DV_TAXI_TRIP package.
In DV_TAXI_TRIP package, DEPENDENCY PACKAGE is now the downstream STG_NY_TAXI -package.
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:
In DV_TAXI_TRIP package, DV_TAXI_LOCATION package is added to DEPENDENCY PACKAGE:
In DV_TAXI_LOCATION package, DV_TAXI_TRIP is added to DEPENDENT PACKAGE:
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: