Validate and Synchronize workspace
Last updated
Last updated
When you select Generate from the Job configuration panel, Syntho performs several validation steps against the schema of the source database and the destination database.
The schema of your source database can change over time. For instance, a table might be added, a column removed, or a column's data type altered.
It's crucial that you keep track of these modifications and adjust your job settings accordingly. Failure to do so could result in the data generation process to fail. For instance, if a column's encoding type changes from categorical to discrete, and it was previously assigned a Custom String mocker, the Mocker will now be removed when it is not compatible with the new data type anymore.
Syntho is designed to track changes in the source database and inform you of any modifications to the data schema.
When selecting Generate, the Source Database Validation tab will alert you of any schema changes and give the option to Sync those changes with your workspace.
Select the Sync button on the Job configuration panel to automatically synchronize any inconsistencies between your workspace and the source database schema.
If schema issues are left unresolved, they can result in the failure of the data generation process.
Syntho is equipped to automatically identify and synchronize the following types of schema changes:
Source table changes:
The primary key of the table has changed.
The primary key of the table has been removed.
A primary key has been added to the table.
A foreign of the table has been removed.
A foreign key has been added to the table.
The unique constraints for the table have been updated.
The check constraints for the table have been updated.
The table was removed.
Source column changes:
The data type of the column has been updated.
The column is now auto incrementing.
The column is not auto incrementing anymore.
The maximum value of a column has changed.
The maximum length of a column has changed.
The default of the column has been updated.
The column is not nullable anymore.
The column is now nullable.
The column is not unique anymore.
The column is now unique.
The column is not part of the primary key anymore.
The column is now part of the primary key.
The column is not part of a foreign key anymore.
The column is now part of a foreign key.
The column is not part of a composite unique constraint anymore.
The column is now part of a composite unique constraint.
The generator of the column has been removed.
Syntho automatically validates the destination database's schema against your workspace for any included tables. This may result in several issues or warnings, which can be resolved by altering the destination database.
Table issues will cause your synthetic data job to fail. The following issues in your destination database may occur:
Table does not exist. To resolve this issue:
Make sure that the schema names in the source and destination database match, and
Add a table with the exact same name to your destination database.
Table has PK columns that are not in source.
To resolve this issue:
Remove any primary key constraints in the destination schema that do not exist in the source schema. Ensure that primary keys align across both schemas to avoid conflicts.
Table has FK columns that are not in source.
To resolve this issue:
Remove any foreign key constraints in the destination schema that do not exist in the source schema. Confirm that foreign key relationships are consistent with the source schema to maintain referential integrity.
Table warnings do not automatically cause your synthetic data job to fail, but could still cause issues. The following warnings in your destination database may occur:
Table already contains data. To resolve this warning:
Truncate the table in the destination database.
Table is part of a circular reference. To resolve this warning:
Disable (or remove) any foreign key constraint(s) to break the circular reference.
Column issues will cause your synthetic data job to fail. The following issues in your destination database may occur:
Column does not exist. To resolve this issue:
Add a column with the exact same name in the table in your destination database.
Extra column is non-nullable and without a default value.
To resolve this issue:
Either make the extra column nullable or set a default value in the destination schema. Alternatively, remove the column if it is unnecessary to ensure successful data generation.
Table has not-nullable columns that are not in source.
To resolve this issue:
Remove or adjust any not-null constraints in the destination schema that do not exist in the source schema. Ensure that not-null constraints are aligned between the source and destination schemas to prevent conflicts.
Column warnings do not automatically cause your synthetic data job to fail, but could still cause issues. The following warnings in your destination database may occur:
Column has mismatching data types. To resolve this warning:
Change the data type of the destination column to match the data type of the source column.
Column has a uniqueness constraint that is not in the source. To resolve this warning:
Remove the unique constraints from the destination.
Column has a check constraint that is not in the source. To resolve this warning:
Remove the check constraints from the destination.
Column has missing default value. To resolve this warning:
Ensure that the default value set on the column in the source database is also set in the destination database.
Destination has composite unique constraints that are not in source.
To resolve this warning:
Remove any composite unique constraints in the destination schema that are not defined in the source schema. This will help prevent potential unique constraint violations.
Column maximum value is lower than source.
To resolve this warning:
Increase the maximum value limit in the destination column to match or exceed the source column's maximum value. This will ensure that all data values fit within the destination schema without truncation.
Column maximum length is lower than source.
To resolve this warning:
Increase the maximum length of the destination column to match or exceed the length in the source column. This will prevent potential data truncation and ensure consistency between source and destination schemas.