This page describe the parameters to use to start a migration execution.

Main object

FieldData TypeDescription
SourceDBConnectionstringSource Connection name
DestinationDBConnectionstringDestination Connection Name (use Runtime Connection to use the environment connection)
SynchronizeUsersbooleanSynchronize the users/ groups /user_role/ group_role/ group_users
EntitiesToMigrateArray[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
ApplicationMigrationModebooleanmigration 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
ApplicationsToMigrateArray[ApplicationsToMigrate]List of applications to migrate. If the migration is by application, this field should be used with the applications definitions
DataAppendModebooleanif 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!
MigrateBPTbooleanmigrate the BPT tables ossys_bpm_process/ ossys_bpm_process_input/ ossys_bpm_process_output/ ossys_bpm_activity/ ossys_bpm_activity_output
MigrateEmailTablesbooleanmigrate the email tables ossys_email/ ossys_email_content/ ossys_email_status
DeltaMigrationbooleanthis 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.
ChunkRecordsintegermaximum number of records in a chunk. If set to 0, it will be used the default value (20000)
ChunkRecordsJustIdsintegermaximum 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)
ChunkSizeintegermaximum 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)
KeepChunkSizebooleanuse always the same number of records per chunk
SmartUserMigrationbooleanonly migrate the referenced users in the entities foreign keys
TenantsListArray[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.
FilterTenantsbooleanif true, the records in mutitenant entities will only be migrated if belong to one of the tenant in the TenantsList property
IgnoreOSSYSInactiveEntriesbooleanIf 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
MigrateServiceCenterUsersbooleanMigrate uses from the ServiceCenter tenant
UsersCaseSensitivebooleanUsername match is case sensitive
SynchronizeUsersDatabooleanSynchronize the user data (is_active, mobilephone, email, external_id)
UserMappedTableCaseSensitivebooleanUser Mapped table feature match is case sensitive
UserMappedTableTrimOnComparebooleanUser Mapped table feature match ignore white space in the beginning and end
IgnoreOSSYSNotFoundEntriesbooleanIf an entity has a primary key that also is a foreign key to an OSSYS_* not found, the records will be ignored
TimezoneShiftbooleanAll dates will be add (positive or negative) with the value of the parameter TimezoneShiftValue.
TimezoneShiftValuedoubletime offset to use
MapperUsersInMemorybooleankeep the users mapper in memory instead of loading in every chunk
LogLevelStringstringThe possible values are Verbose, for more detailed logs, or Info to the default information logs. The default value is Info.
OracleClobWithoutBulkbooleanMigrate entities with blob row by row instead of bulk
UseTempDeltaMapperbooleanUse the Temporary Delta Mapper table for Delta Migrations
LoadAllUserMappedTablebooleanload all the records in the entity with User Mapped table configuration
UseQueryByRowsbooleanUse Query By Rows to get Chunks
UserMappedTableInMemorybooleankeep the entity User Mapper in memory instead of loading in every chunk
SampleSizeKBintegerSize of chunk sample for table size calculation
SampleSizeKB4BinintegerSize of chunk sample for table, with binary data, size calculation

EntitiesToMigrate object

FieldData TypeDescription
SourceOSEntityIdintegerentity id from the source
SourceOSEntityNamestringentity name from the source
DestinationOSEntityIdintegerentity id from the destination
DestinationOSEntityNamestringentity name from the destination
WhereClausestringwhere filter to get the records from the source
UserMappedTablebooleanchoose 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.
SpecialActionFieldsArray[SpecialActionFields]change the records source values
UserMappedUniqueAttributeIdListArray[integer]source attributes ids to use as mapper
UserMappedUniqueAttributeListArray[string]source attributes names to use as mapper

SpecialActionFields object

FieldData TypeDescription
SourceAttributeIdintegerattribute id from the source
MigrationFieldDecisionintegeractions to take in the column. 20 to ignore, 50 to scramble, 60 to anonymize or 70 to use a static value.
MigrationFieldDecisionNamestringname of the action to take (Ignore, Scramble, Anonymize or StaticValue)
StaticValueToUsestringIf the action is to use a static value, will be replace with this value.

ApplicationsToMigrate object

FieldData TypeDescription
SourceOSApplicationIdintegerapplication id from the source
SourceOSApplicationNamestringapplication name from the source
DestinationOSApplicationIdintegerapplication id from the destination
DestinationOSApplicationNamestringapplication 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
}