# 7. Workspace synchronization & validation

Before generating synthetic data, Syntho performs [automated checks](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md) to ensure your workspace aligns with the schemas of your **source** and **destination** databases. This ensures compatibility, preserves referential integrity, and prevents generation failures.

***

### Interactive guide: How to validate a workspace

Follow the interactive guide below to validate a workspace

{% embed url="<https://www.guidejar.com/guides/8547be69-4ff3-49ca-b60a-4f1718463fe2>" %}

## [Source schema validation](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md#source-schema-validation)

Your source database schema may evolve over time—tables may be added, columns removed, or data types changed. Syntho automatically detects such changes during generation and warns you if your workspace is out of sync.

#### [**Automatically detected changes**](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md#source-schema-synchronization)

Syntho will detect and synchronize:

* **Table-level changes**: primary key updates, constraint modifications, table removal
* **Column-level changes**: type changes, nullable status, constraints, or key assignments

Unresolved schema mismatches may result in job failure, so it’s best practice to sync regularly.

***

## [Destination schema validation](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md#destination-schema-validation)

Syntho also validates your destination schema to ensure it is ready to receive the generated synthetic data. Issues here can block the generation process or result in incorrect output.

### [**Table-level issues (blocking)**](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md#table-issues)

* Table does not exist
* Primary or foreign key mismatch with source

#### **Resolution**

Ensure table structure matches the source schema. Remove or align keys as needed.

### [**Table-level warnings (non-blocking)**](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md#table-warnings)

* Table already contains data\
  → Truncate the table in the destination
* Table is part of a circular reference\
  → Disable foreign key constraints temporarily

### [**Column-level issues (blocking)**](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md#column-issues)

* Missing columns
* Extra non-nullable columns without defaults
* Not-nullable columns not present in the source

#### **Resolution**

Adjust column definitions to match source schema exactly.

### [**Column-level warnings (non-blocking)**](/configure-a-data-generation-job/generation-and-validation/validate-and-synchronize-workspace.md#column-warnings)

* Data type mismatches
* Unexpected uniqueness or check constraints
* Missing default values
* Column length or max value is lower than source

#### **Resolution**

Align data types, constraints, and value limits between source and destination columns.

***

## Final step: generate

After resolving all validation issues and confirming schema synchronization, you can safely proceed to generate synthetic data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.syntho.ai/overview/get-started/syntho-bootcamp/7.-workspace-synchronization-and-validation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
