migration - Dependencies
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
andMaxVersion
dependencies as well as theDBMSDependency
will mark a packet as unnecessary instead
- The
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 |