Upgrade Configuration

The following is a reference of all the additional configuration settings that can be used in the context of an upgrade.

The format here follows that in the main configuration setting reference.

UpgradeConnectionInformation Settings


SourceDataPersistenceEngine

Type Level Specificity Default
string Upgrade
A string (`sqlserver`, `mysql`, `postgresql`, or `oracle`) corresponding to the DBMS flavor in use for the source database.

SourceSystemDatabaseConnectionString

Type Level Specificity Default
string Upgrade
The connection string to use when connecting to the system schema on the source database.

SourceTenantDatabaseConnectionString

Type Level Specificity Default
string Upgrade
The connection string to use when connecting to the tenant schema on the source database.

SourceDatabaseSchema

Type Level Specificity Default
string Upgrade
The DBMS-level schema to use when connecting to the source database. At this moment, it is not possible to specify different tenant and system DBMS schemas.

SourceDataHelperAssemblyName

Type Level Specificity Default
string Upgrade
The assembly containing the custom data helper class for the Engine instance. Used only in .NET.

SourceDataHelperClassName

Type Level Specificity Default
string Upgrade
The fully-qualified name of the class to be used as the Data Helper for the source database.

TargetDataPersistenceEngine

Type Level Specificity Default
string Upgrade
A string (`sqlserver`, `mysql`, `postgresql`, or `oracle`) corresponding to the DBMS flavor in use for the target database.

TargetSystemDatabaseConnectionString

Type Level Specificity Default
string Upgrade
The connection string to use when connecting to the system schema on the target database.

TargetTenantDatabaseConnectionString

Type Level Specificity Default
string Upgrade
The connection string to use when connecting to the tenant schema on the target database.

TargetDatabaseSchema

Type Level Specificity Default
string Upgrade
The DBMS-level schema to use when connecting to the target database. At this moment, it is not possible to specify different tenant and system DBMS schemas.

TargetDataHelperAssemblyName

Type Level Specificity Default
string Upgrade
The assembly containing the custom data helper class for the Engine instance. Used only in .NET.

TargetDataHelperClassName

Type Level Specificity Default
string Upgrade
The fully-qualified name of the class to be used as the Data Helper for the target database.

UpgradeTenancy Settings


TargetTenant

Type Level Specificity Default
string Upgrade empty string
If given, use this tenant's ID anytime we need to determine the value of an engine_tenant_id column. For single-tenant single-database customers (most customers), the recommended value of this setting is 'default'. For multi-tenant multi-database customers, this should be the name of the tenant associated with the database you are currently upgrading. For multi-tenant single-database customers, this setting should be omitted or left blank.

PackageToTenantQuery

Type Level Specificity Default
string Upgrade SELECT app_id FROM SCHEMA_PREFIX.ScormPackage WHERE scorm_package_id = @scorm_package_id
For multi-tenant upgrades, this setting allows the user to specify a query that takes a scorm_package_id as input and returns the name of the associated tenant as output. This setting is required for multi-tenant upgrades.

TenantIdCacheSize

Type Level Specificity Default
int Upgrade 1000000
For multi-tenant upgrades, this setting affects the size of the cache used to map various kinds of internal Engine database IDs to tenants. Keep in mind that there are four such caches that will use this setting!

ZeroTenantOverride

Type Level Specificity Default
string Upgrade default
This setting allows the user to specify what name the 'zero' tenant has. This will go on to determine what the default value of their external configuration's tenant name parameter will be post-upgrade.

UpgradeSystemTables

Type Level Specificity Default
bool Upgrade true
This setting can be disabled in order to skip upgrading the system tables. A system connection string will still need to be provided when upgrading tenant tables.

UpgradeTenantTables

Type Level Specificity Default
bool Upgrade true
This setting can be disabled in order to skip upgrading the tenant tables. A system connection string will still need to be provided when upgrading tenant tables.

UpgradePerformance Settings


BatchSize

Type Level Specificity Default
int Upgrade 500
The number of rows to process in a single batch.

BatchSizeOverrides

Type Level Specificity Default
IDictionary<string, int> Upgrade empty string
A mapping of phase names to batch sizes which will override the BatchSize setting, for situations where different phases call for different batch sizes.

MaxProcessingQueueSize

Type Level Specificity Default
int Upgrade 3
The maximum number of batches that can be queued up at once.

ThreadCountOverrides

Type Level Specificity Default
IDictionary<string, int> Upgrade empty string
A mapping of worker names to thread counts to allocate a given number of threads for a specific worker.

ThreadCountMultiplier

Type Level Specificity Default
int Upgrade 1
A multiplier that will be applied to the configured thread counts. This allows customers to increase the number of active threads easily while maintaining the default proportions.

DatabaseReadThreads

Type Level Specificity Default
int Upgrade 2
The number of threads available for workers that read from the database. This does not affect the number of threads devoted to getting the rows into the batch pipeline in the first place, which is always a single-threaded operation.

ProcessingThreads

Type Level Specificity Default
int Upgrade 1
The number of threads available for workers that process data in memory. Since I/O is not involved in these threads, the benefit from multi-threading is presumably small.

DatabaseWriteThreads

Type Level Specificity Default
int Upgrade 4
The number of threads available for workers that write to the database.

FilesystemThreads

Type Level Specificity Default
int Upgrade 2
The number of threads available for workers that access the filesystem.

OnlineIndexingSupported

Type Level Specificity Default
bool Upgrade true
Stipulates whether the CREATE INDEX statements used during phase 1 of an online upgrade can be used without locking the table. This setting is not checked for PostgreSQL. For technical reasons we can't do lock-free indexing on PostgreSQL. This setting should only be marked false if you are running a non-Enterprise Edition of Oracle/SQL Server.

RowCopyStartAfter

Type Level Specificity Default
NullableDateTime Upgrade empty string
If given, only copy rows after this date.

Schema Settings


DropExternalForeignKeys

Type Level Specificity Default
bool Upgrade false
If false (default), the upgrade will fail upon encountering foreign keys that involve an Engine table and a customer's table. If true, the upgrade will instead issue a warning and then drop those foreign keys. It will not add the foreign key back at the end of the upgrade.

ExternalPackageKeyColumns

Type Level Specificity Default
string[] Upgrade empty string
Allows a customer to explicitly specify the definitions of external package key columns on ScormPackage. If used, the columns must match with the properties of the integration layer's implementation of ExternalPackageId.

ExternalRegistrationKeyColumns

Type Level Specificity Default
string[] Upgrade empty string
Allows a customer to explicitly specify the definitions of external registration key columns on ScormRegistration. If used, the columns must match with the properties of the integration layer's implementation of ExternalRegistrationId.

ExtraPackageColumns

Type Level Specificity Default
string[] Upgrade empty string
A comma-delimited list of column specifications for columns the customer added to ScormPackage, but are NOT part of the external key.

ExtraRegistrationColumns

Type Level Specificity Default
string[] Upgrade empty string
A comma-delimited list of column specifications for columns the customer added to ScormRegistration, but are NOT part of the external key.

IncludeApiIntegration

Type Level Specificity Default
bool Upgrade false
This setting is often set automatically, but can sometimes be set manually. If given, tells the upgrade tool that it should include the Engine API-related columns.

IntegrationToApiRegistrationIdQuery

Type Level Specificity Default
string Upgrade
This setting must be provided for customers that are migrating from an integration layer to our API integration. This query returns a string that will be used as the registrations' IDs when communicating with the API. The customer's current integration columns will be passed in as parameters.

IntegrationToApiCourseIdQuery

Type Level Specificity Default
string Upgrade
This setting must be provided for customers that are migrating from an integration layer to our API integration. This query returns a string that will be used as this packages' IDs when communicating with the API. The customer's current integration columns will be passed in as parameters.

RegistrationToApiLearnerQuery

Type Level Specificity Default
string Upgrade
This setting must be provided for customers that are migrating from an integration layer to our API integration. Given a row from ScormRegistration (which will contain any integration layer-defined columns), the query must return a learner_id (which must be a unique varchar), learner_first_name, and learner_last_name for the learner associated with that registration.

Migration Settings


DropXapiTables

Type Level Specificity Default
bool Upgrade false
If enabled, drops and recreates all xAPI-related tables instead of upgrading them.

DropLaunchHistory

Type Level Specificity Default
bool Upgrade false
If enabled, drops the ScormLaunchHistory table and recreates it instead of upgrading it. This table generally has a lot of data, and therefore this can result in significant time savings for the upgrade.

SkipxAPIFileStoreMigrations

Type Level Specificity Default
bool Upgrade false
If enabled, skips any migration or phase related to xAPI File Store.

SkippedPhases

Type Level Specificity Default
string[] Upgrade empty string
A comma-delimited list of phases that the upgrade should skip entirely. Ask Rustici Support for the name of particular steps you want to skip.

MigrateLwsPostbackConfig

Type Level Specificity Default
bool Upgrade false
If enabled for an LWS upgrade, upgrades the postback configuration for each registration to the new configuration schema.

Deduplication Settings


DeduplicateExternalKeysMode

Type Level Specificity Default
Enum Upgrade ERROR
The external key deduplication mode to use. Using this setting may result in lost data, so be warned! Recommended values are DELETE or REASSIGN.

MaxCasualtiesPerDuplicate

Type Level Specificity Default
int Upgrade 5
When deduplicating external keys, imposes an upper limit on the number of duplicates that can be reassigned. If the limit is exceeded, the upgrade stops in error. If you are having problems, the limit can be raised, but be sure to clear this with the support team first.

ScormPackageDeduplicationQuery

Type Level Specificity Default
string Upgrade
If DeduplicateExternalKeys is enabled, this query will be run for each duplicated package row. Contact the Engine support team if you wish to use this setting.

ScormRegistrationDeduplicationQuery

Type Level Specificity Default
string Upgrade
If DeduplicateExternalKeys is enabled, this query will be run for each duplicated registration row. Contact the Engine support team if you wish to use this setting.

ScormPackageDeduplicationIndex

Type Level Specificity Default
string[] Upgrade empty string
The index to use for deduplication, if different from the index we are upgrading to. Required when external key columns are removed or renamed.

ScormRegistrationDeduplicationIndex

Type Level Specificity Default
string[] Upgrade empty string
The index to use for deduplication, if different from the index we are upgrading to. Required when external key columns are removed or renamed.

results matching ""

    No results matching ""