- Fix: replace QueryComposer::toDb() (protected) with camelCaseToUnderscore
for table name resolution — was causing 500 on real import
- Feat: optional database snapshot (mysqldump) before import with UI checkbox
(checked by default). Snapshot saved to data/backups/snapshot-{timestamp}/
- Feat: skip entity types whose module is not installed (import resilience)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Allows importing only database records without restoring attachment
files. Useful when migrating data between instances.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Prevents 500 error when importing a backup that contains entities
(e.g. SignatureRequest) from modules not installed on the target instance.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move Data Migration from system section to unified "Custom Development"
section shared by all custom extensions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Without __APPEND__, the itemList replaced all existing system admin
panel entries instead of adding to them.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Admin panel page at #Admin/dataMigration with two-column layout
- Export: filter by case status, skip attachments option, progress + log
- Import: select backup, preserve IDs / skip duplicates, dry run support
- List/delete existing backups with full manifest details
- 5 API endpoints (status, export, import, listBackups, deleteBackup)
- BufferedIO adapter to capture CLI output for API responses
- Admin-only access on all endpoints
- i18n: English + Hebrew (fa_IR) translations
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Full case data migration tool with 3 console commands:
- data-migration-export: exports all case-related entities (27 types) + files
- data-migration-import: restores backup to target DB with dry-run support
- data-migration-status: shows entity counts from live DB or backup
Supports preserve-ids, skip-duplicates, batch processing, and attachment
file copying. Imports with hooks disabled to prevent side effects.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>