Mapping
Overview
See what SQL Flow maps automatically from source to target, and where you override names and columns per target.
Every target receives each selected source table under a target name, with target column types. SQL Flow works these out automatically from the source and target engines, and you override them per target in the Configure dialog.
What SQL Flow maps automatically
| What | Same engine on both sides | Different engines |
|---|---|---|
| Schema | Kept | The source's default schema becomes the target's default schema, for example dbo to public. Other schemas keep their name. |
| Table and column names | Kept exactly | Recased to the target's convention, for example OrderItems to order_items on PostgreSQL. See Naming conventions per target engine. |
| Column types | Kept, with sizes and collations | Mapped to the nearest exact target type. See Data type mapping. |
| Keys | The source primary key, or a usable unique index, becomes the target primary key. | Same |
The mapping decides what Prepare target schema creates on the wizard's Prepare step, and which target table and columns every change is written to. SQL Flow never creates or alters target tables during a load.
What you can override
The Configure dialog edits one target at a time:
- Target table: the target name of a table, optionally with a schema. See Table and column names.
- Column names: target names for individual columns. Unlisted columns keep their automatic names.
- Row filters, output columns and masks: which rows and columns the target receives. See In-flight processing.
Open the dialog from the wizard's Tables step with Configure, or on an existing pipeline from the Overview tab: find the target in the Targets card and select Configure on its row.
Names are resolved in this order:
- The name you set in Configure for that target.
- The automatic cross-engine name, when the source and target engines differ.
- The source name, unchanged.
Each target of a pipeline has its own names and rules. Two targets of the same pipeline can't write the same table in the same database.
Every target takes names
You can set table and column names for every target, whatever the source, capture mode or target engine. Without your names, Kafka and Google Pub/Sub name topics from the source table, and Fabric Open Mirroring names landing folders from it. See Naming conventions per target engine.
