Init
This commit is contained in:
116
confluence/Universal_Package_Tracking_System.md
Normal file
116
confluence/Universal_Package_Tracking_System.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# 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](Package_Deployment_Guide.md)
|
||||
> 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
|
||||
|
||||
1. **track_package_versions.sql** - Tracks package versions in ENV_MANAGER system
|
||||
2. **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:
|
||||
|
||||
```sql
|
||||
-- ===================================================================
|
||||
-- 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
|
||||
|
||||
```sql
|
||||
-- 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)
|
||||
```sql
|
||||
vPackageList t_string_array := t_string_array(
|
||||
'CT_MRDS.FILE_MANAGER',
|
||||
'ODS.FILE_MANAGER_ODS'
|
||||
);
|
||||
```
|
||||
|
||||
### MARS-1011 (WORKFLOW_MANAGER)
|
||||
```sql
|
||||
vPackageList t_string_array := t_string_array(
|
||||
'CT_MRDS.WORKFLOW_MANAGER'
|
||||
);
|
||||
```
|
||||
|
||||
### System with Multiple Packages
|
||||
```sql
|
||||
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:
|
||||
```sql
|
||||
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
|
||||
Reference in New Issue
Block a user