Skip to main content

Controlling Database Migrator Logging

The database migrator logs processing of individual components, assets, and content repository records at a TRACE level, so they will not appear in logs.

Items that are filtered, skipped, or encounter an error during processing still appear in the logs.

Modify logging levels using one of the following methods:

  • Create an application.properties file in the folder from which you are running the database migrator. Add a line like the following:

    logging.level.com.sonatype=TRACE
  • Pass an argument to the database migrator using a command like the following:

    --logging.level.com.sonatype=TRACE

Filtered Records

Filtered records are assets that are actively excluded due to known issues or incompatibilities with the migration process. This is a deliberate action to prevent problems.

Below are the reason codes and their meaning:

  • Unsupported Format: Assets in formats not recognized or supported by the migration process are filtered out. This is a deliberate exclusion to prevent issues with unknown or incompatible data.

  • Missing Repository ID: Each asset should be associated with a repository. When an asset lacks this crucial identifier, it's filtered because it cannot be properly placed in the new schema.

  • Missing Repository: The code checks when the repository associated with the asset exists in the target system. If not, the asset is filtered to maintain data integrity.

Skipped Records

Skipped records are not migrated due to issues like duplicate records that violate integrity constraints. For instance, a bug in OrientDb can on rare occasions cause records to get inserted into a table's integrity constraints, leading to these records being skipped during migration.

  • Missing Blob Reference: Assets require a "blob reference" which seems to point to the actual file content. If this reference is missing, the asset is skipped, likely because it points to an invalid or non-existent file.

  • Missing Component Reference: Similar to the repository, assets should be linked to a "component." If this link is missing, the asset is skipped, probably because it can't be properly associated with the new structure.