This page describe the parameters to use to start a migration execution.
Main object
Field | Data Type | Description |
---|---|---|
SourceDBConnection | string | Source Connection name |
DestinationDBConnection | string | Destination Connection Name (use Runtime Connection to use the environment connection) |
SynchronizeUsers | boolean | Synchronize the users/ groups /user_role/ group_role/ group_users |
EntitiesToMigrate | Array[EntitiesToMigrate] | List of entities to migrate. If the migration is by entity, this field should be used with the entities definitions. If the migration is by application, in this field you just need to set the entities with a WhereClause, UserMappedTable or SpecialActionFields |
ApplicationMigrationMode | boolean | migration mode to use. If true, the migration is by application and it will be use the ApplicationsToMigrate list; otherwise, the migration is by entity and it will be use the EntitiesToMigrate list |
ApplicationsToMigrate | Array[ApplicationsToMigrate] | List of applications to migrate. If the migration is by application, this field should be used with the applications definitions |
DataAppendMode | boolean | if true, the records will be appended in the destination. If false, the same ids will be used in the destination. If false, the destination connection has to have permission to do the identity insert. If the destination is the Runtime Connection, this value has to be true! |
MigrateBPT | boolean | migrate the BPT tables ossys_bpm_process/ ossys_bpm_process_input/ ossys_bpm_process_output/ ossys_bpm_activity/ ossys_bpm_activity_output |
MigrateEmailTables | boolean | migrate the email tables ossys_email/ ossys_email_content/ ossys_email_status |
DeltaMigration | boolean | this mode allows future migrations to only update data in the destination that was changed in the source from previous delta migrations executions. All migrations must be made with this flag. |
ChunkRecords | integer | maximum number of records in a chunk. If set to 0, it will be used the default value (20000) |
ChunkRecordsJustIds | integer | maximum number of records in a chunk in the instruction to just insert the ids. If set to 0, it will be used the default value (200000) |
ChunkSize | integer | maximum size in kb in a chunk. If set to 0, it will be used the default value (100.000 to direct database connections and 12500 to the REST) |
KeepChunkSize | boolean | use always the same number of records per chunk |
SmartUserMigration | boolean | only migrate the referenced users in the entities foreign keys |
TenantsList | Array[integer] | list of the source tenant ids. Automatic Tenant Filtering (for multi-tenant entities). The filter will not apply to entities that are not multitenant. |
FilterTenants | boolean | if true, the records in mutitenant entities will only be migrated if belong to one of the tenant in the TenantsList property |
IgnoreOSSYSInactiveEntries | boolean | If an entity has a primary key that also is a foreign key to the OSSYS_APPLICATION, OSSYS_ESPACE, OSSYS_TENANT, OSSYS_ENTITY, OSSYS_ENTITY_ATTR and it is inactive, the record will be ignored |
MigrateServiceCenterUsers | boolean | Migrate uses from the ServiceCenter tenant |
UsersCaseSensitive | boolean | Username match is case sensitive |
SynchronizeUsersData | boolean | Synchronize the user data (is_active, mobilephone, email, external_id) |
UserMappedTableCaseSensitive | boolean | User Mapped table feature match is case sensitive |
UserMappedTableTrimOnCompare | boolean | User Mapped table feature match ignore white space in the beginning and end |
IgnoreOSSYSNotFoundEntries | boolean | If an entity has a primary key that also is a foreign key to an OSSYS_* not found, the records will be ignored |
TimezoneShift | boolean | All dates will be add (positive or negative) with the value of the parameter TimezoneShiftValue. |
TimezoneShiftValue | double | time offset to use |
MapperUsersInMemory | boolean | keep the users mapper in memory instead of loading in every chunk |
LogLevelString | string | The possible values are Verbose, for more detailed logs, or Info to the default information logs. The default value is Info. |
OracleClobWithoutBulk | boolean | Migrate entities with blob row by row instead of bulk |
UseTempDeltaMapper | boolean | Use the Temporary Delta Mapper table for Delta Migrations |
LoadAllUserMappedTable | boolean | load all the records in the entity with User Mapped table configuration |
UseQueryByRows | boolean | Use Query By Rows to get Chunks |
UserMappedTableInMemory | boolean | keep the entity User Mapper in memory instead of loading in every chunk |
SampleSizeKB | integer | Size of chunk sample for table size calculation |
SampleSizeKB4Bin | integer | Size of chunk sample for table, with binary data, size calculation |
EntitiesToMigrate object
Field | Data Type | Description |
---|---|---|
SourceOSEntityId | integer | entity id from the source |
SourceOSEntityName | string | entity name from the source |
DestinationOSEntityId | integer | entity id from the destination |
DestinationOSEntityName | string | entity name from the destination |
WhereClause | string | where filter to get the records from the source |
UserMappedTable | boolean | choose a set of unique attributes to be used as the mapper of the information of this entity. The value of those attributes will be used to map the information instead of the natural primary key. |
SpecialActionFields | Array[SpecialActionFields] | change the records source values |
UserMappedUniqueAttributeIdList | Array[integer] | source attributes ids to use as mapper |
UserMappedUniqueAttributeList | Array[string] | source attributes names to use as mapper |
SpecialActionFields object
Field | Data Type | Description |
---|---|---|
SourceAttributeId | integer | attribute id from the source |
MigrationFieldDecision | integer | actions to take in the column. 20 to ignore, 50 to scramble, 60 to anonymize or 70 to use a static value. |
MigrationFieldDecisionName | string | name of the action to take (Ignore, Scramble, Anonymize or StaticValue) |
StaticValueToUse | string | If the action is to use a static value, will be replace with this value. |
ApplicationsToMigrate object
Field | Data Type | Description |
---|---|---|
SourceOSApplicationId | integer | application id from the source |
SourceOSApplicationName | string | application name from the source |
DestinationOSApplicationId | integer | application id from the destination |
DestinationOSApplicationName | string | application name from the destination |
Sample migration by entity Configuration
{
"SourceDBConnection": "Source Connection Name",
"DestinationDBConnection": "Destination Connection Name",
"SynchronizeUsers": true,
"EntitiesToMigrate": [
{
"SourceOSEntityId": 1,
"SourceOSEntityName": "Entity 1",
"DestinationOSEntityId": 2,
"DestinationOSEntityName": "Entity 1",
"WhereClause": "",
"UserMappedTable": false,
"SpecialActionFields": [],
"UserMappedUniqueAttributeIdList": [],
"UserMappedUniqueAttributeList": []
},
{
"SourceOSEntityId": 3,
"SourceOSEntityName": "Entity 2",
"DestinationOSEntityId": 4,
"DestinationOSEntityName": "Entity 2",
"WhereClause": "",
"UserMappedTable": false,
"SpecialActionFields": [],
"UserMappedUniqueAttributeIdList": [],
"UserMappedUniqueAttributeList": []
}
],
"ApplicationMigrationMode": false,
"ApplicationsToMigrate": [],
"DataAppendMode": true,
"MigrateBPT": false,
"MigrateEmailTables": false,
"MainExecutionTrackerId": 0,
"DeltaMigration": false,
"ChunkRecords": 0,
"ChunkRecordsJustIds": 0,
"ChunkSize": 0,
"KeepChunkSize": false,
"SmartUserMigration": false,
"TenantsList": [],
"FilterTenants": false,
"IgnoreOSSYSInactiveEntries": false,
"MigrateServiceCenterUsers": false,
"UsersCaseSensitive": false,
"SynchronizeUsersData": false,
"UserMappedTableCaseSensitive": false,
"UserMappedTableTrimOnCompare": false,
"IgnoreOSSYSNotFoundEntries": false,
"TimezoneShift": false,
"TimezoneShiftValue": 0.0,
"MapperUsersInMemory": false,
"LogLevelString": "",
"OracleClobWithoutBulk": false,
"UseOptimizedOracleCommand": false,
"UseTempDeltaMapper": false,
"LoadAllUserMappedTable": true,
"UseQueryByRows": false,
"UserMappedTableInMemory": false
}
Sample migration by application Configuration
{
"SourceDBConnection": "Source Connection Name",
"DestinationDBConnection": "Destination Connection Name",
"SynchronizeUsers": true,
"EntitiesToMigrate": [],
"ApplicationMigrationMode": true,
"ApplicationsToMigrate": [{
"SourceOSApplicationId": 1,
"SourceOSApplicationName": "APP1",
"DestinationOSApplicationId": 2,
"DestinationOSApplicationName": "App1"
},{
"SourceOSApplicationId": 3,
"SourceOSApplicationName": "APP2",
"DestinationOSApplicationId": 4,
"DestinationOSApplicationName": "APP2"
}],
"DataAppendMode": true,
"MigrateBPT": false,
"MigrateEmailTables": false,
"MainExecutionTrackerId": 0,
"DeltaMigration": false,
"ChunkRecords": 0,
"ChunkRecordsJustIds": 0,
"ChunkSize": 0,
"KeepChunkSize": false,
"SmartUserMigration": false,
"TenantsList": [],
"FilterTenants": false,
"IgnoreOSSYSInactiveEntries": false,
"MigrateServiceCenterUsers": false,
"UsersCaseSensitive": false,
"SynchronizeUsersData": false,
"UserMappedTableCaseSensitive": false,
"UserMappedTableTrimOnCompare": false,
"IgnoreOSSYSNotFoundEntries": false,
"TimezoneShift": false,
"TimezoneShiftValue": 0.0,
"MapperUsersInMemory": false,
"LogLevelString": "",
"OracleClobWithoutBulk": false,
"UseOptimizedOracleCommand": false,
"UseTempDeltaMapper": false,
"LoadAllUserMappedTable": true,
"UseQueryByRows": false,
"UserMappedTableInMemory": false
}