This topic discusses the dependency API provided by the migration framework.
- A migration packet can have dependencies that are evaluated during migration to determine wheter the packet should run or not
- When the dependencies are not met, the packet is marked as pending
- The
MinVersion
and MaxVersion
dependencies as well as the DBMSDependency
will mark a packet as unnecessary instead
Classes
BaseDependency
The base class.
- All dependencies must subclass this class.
Methods
Function | Parameters | Return Value | Description |
---|
BaseDependency.__init__(self) |
|
| Initializes the dependency |
BaseDependency.get_log_content(self) |
|
| Retrieves a list of all log statements in the buffer and clears it |
BaseDependency.log(self, text) | text: String |
| Writes into the internal log buffer |
Properties
Property | Getter | Setter | Description |
---|
BaseDependency.is_met | | | This property is abstract and must be implemented in a subclass. It must be returned if the condition of the dependency is satisfied |
DBMSDependency
Dependency on the type of database used.
Methods
Function | Parameters | Return Value | Description |
---|
DBMSDependency.__init__(self, expected_dbms) | expected_dbms: '000002' for Oracle and '000004' for MSSQL |
| Initializes the dependency |
MaxVersionDependency
Dependency on database changeset
- Will check whether the value in database changeset is greater or equal to the version this dependency was initialized with
Methods
Function | Parameters | Return Value | Description |
---|
MaxVersionDependency.__init__(self, version) | version: Customizing version like '39.5.11' |
| Initializes the dependency |
MinVersionDependency
Dependency on database changeset
- Will check whether the value in database changeset is less or equal to the version this dependency was initialized with
Methods
Function | Parameters | Return Value | Description |
---|
MinVersionDependency.__init__(self, version) | version: Customizing version like '39.5.11' |
| Initializes the dependency |
PacketDependency
Methods
Function | Parameters | Return Value | Description |
---|
PacketDependency.__init__(self, packet_path, expected_state) | packet_path: Python path expected_state: PacketState |
| Initializes the dependency |