This commit is contained in:
Grzegorz Michalski
2026-02-02 11:55:21 +01:00
parent 00063f1d0b
commit aac908ebba
2 changed files with 24 additions and 13 deletions

View File

@@ -1,12 +1,23 @@
Kolejność wdrażania paczek:
REL01
MARS-1049
MARS-1049-ADHOC
MARS-1056
REL02
MARS-1046
-- Obecnie na środowisku DEV
REL01_ADDITIONS
MARS-835-PREHOOK
MARS-835
MARS-826
-- AKtualnie pracuje nad:
MARS-828
-- Poniżej czeka na wdrożenie
REL03
MARS-1057
'3.4.0 (2025-11-27): MARS-1057 - Added CREATE_EXTERNAL_TABLES_SET and CREATE_EXTERNAL_TABLES_BATCH procedures for batch external table creation' || CHR(13)||CHR(10) ||

View File

@@ -84,7 +84,7 @@ c:\_git\_local_rep\
│ ├── MARS_Packages\
│ │ └── REL01\
│ │ └── MARS-1057\ # New package folder
│ │ ├── current_version\
│ │ ├── rollback_version\
│ │ ├── new_version\
│ │ └── *.sql files
│ ├── database\
@@ -781,7 +781,7 @@ mock_data/
- track_package_versions.sql and verify_packages_version.sql
- README.md
- .gitignore (with standardized exclusions)
- current_version/ and new_version/ folders (if package modifications)
- rollback_version/ and new_version/ folders (if package modifications)
- Core deployment files only
Standard MARS package directory structure:
@@ -800,7 +800,7 @@ MARS_Packages/REL01/MARS-XXXX/
├── verify_packages_version.sql # Package verification script
├── ...
├── README.md # Package documentation
├── current_version/ # Backup of objects BEFORE changes (for rollback)
├── rollback_version/ # Backup of objects BEFORE changes (for rollback)
│ ├── PACKAGE_NAME.pkg # Previous package specification
│ └── PACKAGE_NAME.pkb # Previous package body
├── new_version/ # Updated objects AFTER changes (for installation)
@@ -826,12 +826,12 @@ MARS_Packages/REL01/MARS-XXXX/
- **Master scripts**: `install_marsXXXX.sql` and `rollback_marsXXXX.sql`
**Version Management Folders (for Database Object Modifications):**
- **`current_version/`** - Contains backup of database objects BEFORE changes (for rollback)
- **`rollback_version/`** - Contains backup of database objects BEFORE changes (for rollback)
- **`new_version/`** - Contains updated database objects AFTER changes (for installation)
**When to use version folders:**
- Required when MARS package modifies ANY existing database objects (packages, tables, views, indexes, triggers, etc.)
- Copy original object definitions to `current_version/` before making changes
- Copy original object definitions to `rollback_version/` before making changes
- Place modified object definitions in `new_version/` after changes
- Examples: FILE_MANAGER.pkg/pkb, A_SOURCE_FILE_CONFIG.sql (table), V_STATUS.sql (view), IDX_CONFIG.sql (index)
@@ -1021,7 +1021,7 @@ MARS_Packages/REL01_POST_DEACTIVATION/MARS-835-PREHOOK/
├── track_package_versions.sql # ✅ Universal tracking
├── verify_packages_version.sql # ✅ Universal verification
├── README.md
├── current_version/
├── rollback_version/
│ ├── DATA_EXPORTER.pkg # v2.1.1 (before changes)
│ └── DATA_EXPORTER.pkb
├── new_version/
@@ -1563,7 +1563,7 @@ Before creating a MARS package, ensure:
- [ ] README.md documents installation process
- [ ] Rollback scripts reverse all changes
- [ ] Rollback includes verification step (@@test/verify_packages_version.sql)
- [ ] **current_version/ folder**: Contains backup of objects before changes (if modifying packages)
- [ ] **rollback_version/ folder**: Contains backup of objects before changes (if modifying packages)
- [ ] **new_version/ folder**: Contains updated objects after changes (if modifying packages)
- [ ] **test/ folder**: All test files and verification scripts organized in subfolder
- [ ] **log/ folder**: SPOOL log files automatically created by master scripts
@@ -1591,7 +1591,7 @@ MARS_Packages/REL01/MARS-1046/
├── track_package_versions.sql # Version tracking
├── verify_packages_version.sql # Package verification
├── README.md # Comprehensive documentation
├── current_version/ # v3.3.0 backup for rollback
├── rollback_version/ # v3.3.0 backup for rollback
│ ├── FILE_MANAGER.pkg
│ └── FILE_MANAGER.pkb
├── new_version/ # v3.3.1 updated packages
@@ -1613,7 +1613,7 @@ MARS_Packages/REL01/MARS-1046/
- SPOOL logging: `INSTALL_MARS_1046_<PDB>_<timestamp>.log`
- ACCEPT validation: Requires explicit "YES" to proceed (both install & rollback)
- quit; command: Clean SQLcl exit after completion
- Version folders: current_version/ (v3.3.0) and new_version/ (v3.3.1)
- Version folders: rollback_version/ (v3.3.0) and new_version/ (v3.3.1)
- Test subfolder: All test files organized separately
- 4-step workflow: Install packages → Track version → Verify packages → quit
- Full rollback: Restore to previous version with verification
@@ -1680,7 +1680,7 @@ Move-Item -Path "*.log" -Destination "log" -Force
**Step 4: Verify clean structure**
```powershell
# Check root directory - should only have deployment scripts and README
Get-ChildItem | Where-Object { $_.Name -notmatch "^(01|02|91|92|install|rollback|README|current_version|new_version|test|log)" }
Get-ChildItem | Where-Object { $_.Name -notmatch "^(01|02|91|92|install|rollback|README|rollback_version|new_version|test|log)" }
# Expected: No output (all non-deployment files moved)
```
@@ -1696,7 +1696,7 @@ MARS_Packages/REL01/MARS-XXXX/
├── track_package_versions.sql
├── verify_packages_version.sql
├── README.md # Documentation
├── current_version/ # Backup packages
├── rollback_version/ # Backup packages
├── new_version/ # Updated packages
└── test/ # ALL test artifacts
├── test_marsXXXX.sql