Migration Guides¶
This page provides step-by-step migration guides for upgrading between major versions of Arctyk ITSM.
General Migration Process¶
When upgrading Arctyk ITSM between versions, follow these general steps:
- Backup your database - Always create a backup before upgrading
- Review the changelog - Check for breaking changes in the target version
- Update dependencies - Install new requirements from
requirements.txt - Run migrations - Apply database schema changes with
python manage.py migrate - Collect static files - Run
python manage.py collectstatic - Restart services - Restart your web server and Celery workers
- Test thoroughly - Verify critical functionality after upgrade
Migrating from 0.5.x to 0.6.0¶
What's New¶
- Comments System: New Comment and CommentEditHistory tables for ticket discussions
- SLA Fields: New
response_target,resolution_targetfields on Ticket model - Lifecycle Timestamps: New
first_responded_at,resolved_at,closed_attimestamp fields - Enhanced Documentation: 3500+ lines of new component guides and developer documentation
Breaking Changes¶
None - Version 0.6.0 is fully backward compatible with 0.5.x.
Migration Steps¶
- Stop the application
- Backup your database
- Update code
- Install dependencies (if changed)
- Apply migrations
- Collect static files
python manage.py collectstatic --noinput
# or
docker-compose exec web python src/manage.py collectstatic --noinput
- Restart services
- Verify upgrade
- Visit dashboard and verify no 500 errors
- Create a test ticket and add a comment
- Verify SLA fields appear in admin
- Check that changelog entries are created for comments
No Code Changes Required¶
All new features are additive and don't require changes to existing custom code.
Documentation Updates¶
The documentation has been significantly expanded in 0.6.0:
- Component Guides: See
docs/components/for UI component documentation - Testing Guide: See
docs/developer-guide/testing.mdfor pytest patterns - SLA Guide: See
docs/features/sla.mdfor SLA implementation details - Contributing: See
CONTRIBUTING.mdfor commit message standards
Migrating from 0.4.x to 0.5.x¶
New Features¶
- Workflow Audit Trail: Automatic changelog entries for status transitions
- Inline Editing: AJAX-powered field editing on ticket detail view
- Enhanced Workflow: Status history timeline display
Breaking Changes¶
None - Version 0.5.0 is fully backward compatible with 0.4.x.
Migration Steps¶
Similar to 0.5→0.6 migration above. No custom code changes required.
Migrating from 0.4.x to Future Versions¶
Migration guides will be added here as new major versions are released.
Migrating from 0.3.x to 0.4.x¶
Breaking Changes¶
- Recurring Tickets Removed: The recurring ticket feature has been temporarily removed and will be reintroduced in a future version with improved architecture.
- UI Overhaul: Custom CSS or JavaScript that relied on legacy UI elements may need updates.
- Workflow Changes: Ticket status workflow now follows Jira-style category-based transitions.
Migration Steps¶
-
Remove recurring ticket references: If you have any custom code or integrations that reference recurring tickets, remove or comment them out.
-
Update static assets: The SCSS architecture has been reorganized. If you have custom styles, you may need to adjust import paths.
-
Review workflow transitions: The ticket workflow system now uses category-based transitions. Review your custom workflows and update them to use the new
WORKFLOW_TRANSITIONSpattern. -
Test AJAX forms: The Create and Update ticket forms now return JSON for AJAX requests. If you have custom JavaScript, ensure it handles JSON responses correctly.
Migrating from 0.2.x to 0.3.x¶
Migration Steps¶
This was an early development release. The recommendation is to start with 0.4.0 or later for production deployments.
- Update Django to the required version
- Run database migrations
- Update any custom templates that reference legacy models
- Test ticket creation and workflow transitions
Database Backup Best Practices¶
Before any migration:
# PostgreSQL backup
pg_dump -U arctyk_user arctyk_db > backup_$(date +%Y%m%d_%H%M%S).sql
# Restore if needed
psql -U arctyk_user arctyk_db < backup_20250101_120000.sql
Rollback Procedure¶
If a migration fails or causes issues:
- Stop the application services
- Restore the database from backup
- Revert to the previous application version
- Restart services
- Investigate the migration issue before attempting again
Getting Help¶
If you encounter issues during migration:
- Check the troubleshooting guide
- Review GitHub Issues
- Join our Discord community