Upgrade Systems Between Versions¶
R2X Core provides a framework for defining version upgrades using UpgradeStep and UpgradeType. Upgrades are staged to handle both raw data files and system objects.
Understand Upgrade Types¶
R2X Core supports two types of upgrades through UpgradeType:
>>> from r2x_core import UpgradeType
>>>
>>> # FILE: Upgrade raw data files before loading into a system
>>> UpgradeType.FILE
<UpgradeType.FILE: 'FILE'>
>>>
>>> # SYSTEM: Upgrade already-loaded System objects
>>> UpgradeType.SYSTEM
<UpgradeType.SYSTEM: 'SYSTEM'>
FILE upgrades are useful when the data format or schema changes between versions. SYSTEM upgrades are useful when the system model structure changes.
Inspect Upgrade Configuration¶
View the UpgradeStep structure to understand how upgrades are defined:
>>> from r2x_core import UpgradeStep, UpgradeType
>>>
>>> # Create an example upgrade step definition
>>> class_name = UpgradeStep.__name__
>>> print(f"Upgrade step class: {class_name}")
Upgrade step class: UpgradeStep
See Also¶
Upgrade Data Between Versions - Upgrade raw data files between versions
Managing Versions - Version management strategies
UpgradeStep- Upgrade step configurationUpgradeType- Upgrade type enumerationrun_upgrade_step()- Execute upgrade steps