3.1 KiB
3.1 KiB
Simple Package Version Tracking
Overview
Simple Oracle package version tracking system with a clear package list at the beginning of the script.
📖 For comprehensive deployment workflow, see: Package Deployment Guide
This document covers only the tracking script usage. For full deployment process, version update guidelines, and troubleshooting, refer to the main deployment guide.
Available Scripts
- track_package_versions.sql - Tracks package versions in ENV_MANAGER system
- verify_packages_version.sql - Verifies all tracked packages for code changes
How to Use?
Step 1: Edit Package List
Open track_package_versions.sql and edit the package list section:
-- ===================================================================
-- PACKAGE LIST - Edit this array to specify packages to track
-- ===================================================================
vPackageList t_string_array := t_string_array(
'CT_MRDS.FILE_MANAGER',
'ODS.FILE_MANAGER_ODS'
-- Add more packages here:
-- ,'CT_MRDS.DATA_EXPORTER'
-- ,'MRDS_LOADER.CLOUD_WRAPPER'
);
-- ===================================================================
Step 2: Use in Your Script
-- install_mars1049.sql
PROMPT Installing packages...
@@new_version/FILE_MANAGER.pkg
@@new_version/FILE_MANAGER.pkb
PROMPT Tracking versions...
@@track_package_versions.sql
PROMPT Verifying all packages...
@@verify_packages_version.sql
Script Details
track_package_versions.sql
- Purpose: Register package versions in A_PACKAGE_VERSION_TRACKING
- When: After installing/rolling back packages
- Output: Simple list of package versions
verify_packages_version.sql
- Purpose: Verify all tracked packages for code changes
- When: At the end of install/rollback scripts
- Output: Detailed status for all tracked packages (OK/WARNING)
Example Output
========================================
Package Version Tracking
========================================
Packages tracked: 2 of 2
CT_MRDS.FILE_MANAGER = 3.2.1
ODS.FILE_MANAGER_ODS = 2.1.0
========================================
Configuration Examples
MARS-1049 (FILE_MANAGER System)
vPackageList t_string_array := t_string_array(
'CT_MRDS.FILE_MANAGER',
'ODS.FILE_MANAGER_ODS'
);
MARS-1011 (WORKFLOW_MANAGER)
vPackageList t_string_array := t_string_array(
'CT_MRDS.WORKFLOW_MANAGER'
);
System with Multiple Packages
vPackageList t_string_array := t_string_array(
'CT_MRDS.FILE_MANAGER',
'CT_MRDS.DATA_EXPORTER',
'CT_MRDS.FILE_ARCHIVER',
'ODS.FILE_MANAGER_ODS',
'MRDS_LOADER.CLOUD_WRAPPER'
);
Requirements
Each package in the list must have:
FUNCTION GET_VERSION RETURN VARCHAR2;
Benefits
- Clear List - see immediately which packages are tracked
- Easy Editing - add/remove package lines
- Zero Configuration - aside from the package list
- Universal - copy script to any MARS issue
- Simple Output - just package names and versions