Migrate Data
Migrate Data creates records in another system from records that are already in a Cortex archive. It is used when archived data has to move on again - for example from a Cherwell archive into a new ITSM platform - without going back to the original database for a second export.
Cortex reads the records from the archive and writes new records into the target system through that system's own API or database connection. The archive itself is never modified. The target system's rules still apply, so required fields, choice lists and lookups have to be satisfied by your mapping.
Before you start
- Add a data source for the target system. Migrate Data writes through a Cortex data source, so the system you are migrating into must be configured under Admin → Data Sources first - for example a FreshService or Halo API connection, or a SQL Server database. See Data Sources.
- Know your target table. In the Migrate Data screen you choose the target table and map every column that matters. Check which fields the target requires and which ones only accept values from a fixed list.
- Check your access. Migrate Data is offered to Cortex administrators on a Cortex database that is writable (the saved mappings and migration jobs are stored in Cortex's own database).
Migrate Data is part of Cortex's migration tooling, which is included in the Archive and Platform editions. On a Lite license the Migrate Data button is not shown anywhere. See Licensing and Editions.
Where a migration starts
Migrate Data always works from a set of records you have already found:
- Open the archive you want to move data from and search or browse to the records you want to move.
- Click Migrate Data in the results toolbar.
- Work through the Migrate Data dialog, then click Run.
The whole result set is exported, not just the page you can see. When a search uses paged results, Cortex loads every matching record before opening the dialog, so the migration covers the entire query.
The Migrate Data screen
| Section | What it does |
|---|---|
| Source | Confirms the records being exported (the browse selection you came from). |
| Target System & Table | The data source and table the new records are created in. |
| Relationship data to migrate | Optional: copy related child rows (for example tasks linked to an incident) alongside each parent record. See Related Record Transfers. |
| Field mappings | Maps each target column to a source field, a fixed value, an expression, or a lookup. See Field Mappings. |
| Export options | Attachments, running the export in the background, and how many records are submitted at a time. See Running and Monitoring a Migration. |
| Run export | Starts the migration, shows progress, and lists anything that needs attention afterwards. |
Every run is recorded
Whether a migration runs in the dialog or in the background, it leaves a task behind under Admin → Background Tasks, with its own log and the status of every record it processed. That history is what you use later to check what a run did and to retry records it could not create - see Running and Monitoring a Migration.
Saving mappings for re-use
Mappings are worth saving before a large or repeated migration:
- Save in the Migrate Data screen stores the field mappings, value translations, relationship transfers and export options against the source data source and source table.
- Utilities → Migration configurations lists every saved configuration - one row per source data source and table - with New, Edit and Delete, and opens the Migrate Data screen for that table when you double-click a row.
- You can also prepare a configuration before you ever run a migration: pick the source data source and table on that page and click Configure….
- A mapping set can be exported to a file and imported back later, or on another Cortex instance, instead of being rebuilt - see Mapping Bundles.
When you open Migrate Data for a table that already has a saved configuration, Cortex loads it and adds any columns that have appeared on the target table since it was saved.
Map each target column, including fixed values, expressions and user lookups.
Translate source values into target values, with optional conditions per row.
Copy related child records when each parent record is created.
Running and Monitoring a Migration
Background runs, concurrency, progress and retrying failures.
FreshService as a Migration Target
FreshService-specific settings, ticket fields and rich text handling.
Save a mapping set to a file and import it back, re-binding it to equivalent data sources and tables.
See also
- Data Sources - adding the target system
- Licensing and Editions - editions that include migration tooling
- Searching and Browse - finding the records to migrate