Type: Feature Request
Affects Version/s: None
Fix Version/s: 5.3.0-B1
Change Log Group:Changed
Change Log Message:The deployment log is now stored in the database instead of "project_upgrades.log" file.
Create ModuleDeploymentLog database table with following columns:
- Module - name of module, revision belongs to
- RevisionNumber - deployed revision number
- RevisionTitle - title of revision from project_upgrades.sql
- CreatedOn - when revision was deployed
- IPAddress - who deployed a revision
- Output - deployment messages
- ErrorMessage - error message, that happened during deployment process
- Mode - how revision was processed (automatic, manual)
- Status - deployment status (successful, error, skipped)
Add "Deployment" tab in Modules list, that would show contents of ModuleDeploymentLog database table.
"Mode" would tell if a revision was processed during deploy/synchronize operation (mode=automatic) or developer changed it status by hand (mode=manual).
For every module, that have "install/project_upgrades.sql" file need to:
- parse it to get revision titles VS number associations
- keep only revisions, that were listed in AppliedDBRevisions column in Modules table
- create record in ModuleDeploymentLog database table for each revision with following fields filled in:
- Id - automatic
- Module - module, being processed
- RevisionNumber - revision number, being processed
- RevisionTitle - revision title, being processed
- CreatedOn - IMPORT_DATE
- IPAddress - 0.0.0.0
- Output - "IMPORTED" text
- ErrorMessage - "" (empty)
- Status - deployed normally (since we don't know actual status)
Then we can safely drop AppliedDBRevisions column from Module table.
Update deployment script to write information to corresponding columns.