Skip to main content

StreamShift Documentation

Customize the migration and migrate the schema

If you skipped configuring your target database connection in the Configure phase, click the Configure button to do so now.

If the target schema(s) or database(s) do not have the same name as the source schema(s) or database(s), click Edit and adjust as necessary. When the mapping is correct, click Next.

Note

For PostgreSQL targets, the database may have only the default public schema. For SQL Server targets, the database may have only the default dbo database.

customize_objects_to_migrate.png

In this phase, StreamShift shows three categories of compatibility:

  • Compatible: can be migrated to target. Optionally, select Edit SQL to modify the DDL for the target, for example if you disagree with the Striim Intelligence data type mapping detailed in the Compatibility report.

  • Incompatible, Edit SQL enabled: can not be migrated to target without modification. For example, StreamShift might not have been able to determine a compatible data type. For these tables, you have the following options:

    • Select Edit SQL to modify the DDL for the target table, for example, to replace <source data type>_STRIIM_UNKNOWN with a compatible target data type.

    • Select ... > Exclude columns to select incompatible columns to exclude from the migration.

    • Select ... > Exclude table to omit the table from the migration.

  • Incompatible, Edit SQL disabled: can not be migrated to target. For example, the source table may have attributes that make it incompatible with change data capture. Select ... > Exclude table to omit the table from the migration. Alternatively, abandon the StreamShift project, alter the source database to eliminate the compatibility, and start over with a new project.

The process is similar for making foreign keys compatible.

KNOWN ISSUE (SMS-1373): if a table is excluded, foreign keys that require it still show as compatible.

Note

For Cosmos DB targets

  • During customization, only Exclude table is available, not Exclude column or Edit SQL.

  • Foreign keys are not migrated as they do not exist in Cosmos DB.

  • StreamShift will create a Cosmos DB database for each schema to be migrated, and a container for each source table to be migrated.

  • Containers default to Shared throughput. If that is not appropriate for your Cosmos DB account, change it to Autoscale or Manual.

  • You must define a partition key for each container (see Choosing a partition key).

  • Primary key updates in the source are handled as a delete followed by an insert in the CosmosDB target.

When you have dealt with all the incompatibilities, click Migrate Schema. When the migration is complete StreamShift will display a summary.

KNOWN ISSUE (SMS-1863): StreamShift may attempt to migrate foreign keys in the wrong order, resulting in some that were reported as compatible failing to migrated. If this happens, click Retry all failed schemas.

When schema migration is complete, click Configure CDC Capture.