Skip to main content
Structural test data generation creates a synthetic copy of an existing datasource. Datachecks analyzes the source schema and sensitivity profile, then generates data that matches its patterns — without using real values. Use Structural when you want test data that mirrors production without exposing sensitive information.

Create a test database

  1. Navigate to Test Data → Structural in the left sidebar.
  2. Click New Database.
  3. Fill in the form:
    • Database Name — A name for the synthetic database.
    • Select Datasource — The source connection to replicate from.
    • Select Datasets — Choose which tables to include. Use Select All or search to filter.
  4. Click Submit.

Database View

The Database View is where you configure which generators to use for each column. Left sidebar lists all tables from the selected datasource. Each table shows the column count. Filter by sensitivity using the At Risk, Protected, and Not Sensitive buttons. Column table shows the columns for the selected table:
ColumnDescription
Column NameName of the column, with source dataset shown for copied columns.
StatusSensitivity classification — At Risk, Protected, or Not Sensitive.
GeneratorThe generator assigned to this column.
UniqueWhether generated values are enforced as unique.
ActionsEdit or delete the column configuration.

Configure a column

Click the edit icon on any column to open the column editor:
FieldDescription
Column NameName of the column.
GeneratorThe data generator to use. Search by name or filter by category. Each generator shows a description and example output.
Hide ColumnIf enabled, this column is excluded from the generated output.
Null PercentagePercentage of rows that will contain a null value (0–100).
FormatOptional format pattern for the generated value.
MaskOptional mask pattern applied to the value.

Generator types

GeneratorDescription
Standard generatorsEmail, phone, name, address, and more. See Test Data Generators for the full list.
value_of_columnCopies values from a specific column in the source datasource. Select the dataset and column.
custom_functionAn AI-generated function based on the column name.
similar_valuesGenerates values similar to a list of examples you provide.
category_valueGenerates values from a selected category.
value_of_virtual_tableDraws values from a pre-built virtual table.

Row count

Click the edit icon next to the row count in the column table header to set how many rows to generate for each table.

Add a column

Click Add Column to add a new column to a table beyond what was imported from the source.

Privacy Hub

The Privacy Hub gives you a sensitivity analysis of all tables and columns imported from the source datasource. Use it to identify which columns contain sensitive data before configuring generators.

Table View

The Table View previews the generated data before you export it. Select a table from the left sidebar to see a sample of the generated rows. From here you can:
  • Download Data — Save the generated dataset as a file.
  • Export YAML — Export the generator configuration for reuse or version control.
  • Regenerate Data — Trigger a new generation run with the current configuration.

Foreign Keys

Define relationships between tables to ensure generated data maintains referential integrity. Click New FK to create a relationship:
  • Foreign Key — Select the table and column that holds the foreign key.
  • Primary Key — Select the table and column it references.

Data Targets

Data Targets define where the generated data is delivered — for example, an API endpoint or webhook.
FieldDescription
NameA label for this target.
Request TypeHTTP method — GET, POST, PUT, or DELETE.
LinkThe endpoint URL.
HeadersKey-value pairs added to the request.
Request BodyJSON payload sent with the request.
Target TypeThe type of destination.