Chapter 2: Building Your First Map

Import your schemas, create mappings, and navigate the workspace hands-on.

Before You Begin

This chapter assumes you have a workbook open. If you're starting fresh, use Ctrl+N (or File → New) to create a new workbook. A new workbook includes a default project named New Project and a preconfigured set of status codes, notation types, and report templates. One of those templates—CSV Schema Import—is required for the import steps below. It ships with every new workbook; do not delete it from Configuration.

The tutorial in this chapter uses two sample CSV files that represent a migration from a legacy Oracle auto parts system (CAPS) to a modern PostgreSQL application (AutoFlow). If you're following along with your own schema files, the steps are identical—just substitute your file and column names where the examples reference CAPS and AutoFlow.

Adding Tables to Your Project

Before you can create mappings, both sides of the migration need to be represented in your project. You import tables into the source panel and the target panel independently, and each panel holds only its respective schema.

Importing Source Tables

Right-click anywhere in the source panel and select Add/Update Tables. A file dialog opens. Bridger accepts CSV, DDL/SQL, and JSON schema files; for this tutorial select your source CSV file (caps_source.csv).

Note DDL and JSON schema files follow a different path—they are imported into the Library first, then pulled into a project from there. CSV is the most direct route into a project and is the format covered in this chapter. The Library-based workflow is covered in Chapter 8: Building Your Library.

Because the workbook contains a CSV Schema Import template, Bridger uses it automatically. If your workbook contains more than one such template, a selection dialog appears; pick the one that matches your file's column layout. The default CSV Schema Import template expects the standard column names used by Oracle and SQL Server data dictionary exports: TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, and so on. Both sample files use this layout.

The sync dialog opens and shows every table Bridger found in the CSV. Each table is listed with a checkbox and marked as New. A summary line at the top shows the count. Expand any table node to preview its columns before committing.

Select the tables you want to import—for the tutorial, select all thirteen CAPS tables—and click Apply. The tables appear in the source panel, each expandable to show its columns.

Importing Target Tables

The process for the target side is identical. Right-click anywhere in the target panel, select Add/Update Tables, and pick your target CSV (autoflow_target.csv). Select all twelve AutoFlow tables and apply. Your workspace now has a populated source panel on the left and a populated target panel to the right of it.

Navigating the Trees

Both panels use the same tree structure: tables at the top level, columns nested beneath them. Click the arrow next to a table to expand or collapse it. Tables are listed in position order—the order you can control by dragging, which is covered in Chapter 4.

Click any table or column to select it. The properties pane at the bottom of that panel updates to show the selected item's details.

Properties Pane

The properties pane sits below each tree panel. Selecting a table shows its name, database, schema, and description. Selecting a column shows its name, data type, length, precision, scale, nullable flag, default value, and description. These fields come from the import file and are read-only in the project view—they reflect the source-of-truth schema. Additional tabs in the properties pane expose Notations and Indicators, which are covered in Chapter 3.

Creating Your First Mapping

A mapping documents the relationship between a source column and a target column. You create one by dragging from the source tree and dropping onto the target tree.

Expand CUST_MSTR in the source panel and expand customer in the target panel so both column lists are visible. Drag CUST_FST_NAM from the source panel and drop it onto first_name in the target panel. Bridger creates the mapping and it appears immediately in the mappings panel.

Click the new mapping to select it. The mapping detail pane at the bottom of the mappings panel shows the mapping's notations as tabs. Click the + tab at the end of the row, select Transformation Logic from the dropdown, and enter a description of how the source data becomes the target data. For this straightforward column, something like Direct copy — no transformation required is sufficient. Transformation logic is the one notation every mapping requires — it is the authoritative record of what the migration does with this field. The + tab remains at the end of the row as you add more notations; Chapter 3 covers the full logic workflow including templates for reusing common patterns.

Create a few more to give yourself something to work with. These pairs map cleanly between the two schemas. Add transformation logic to each one as you go — the process is the same.

Source (CAPS) Target (AutoFlow)
CUST_MSTR.CUST_FST_NAM customer.first_name
CUST_MSTR.CUST_LST_NAM customer.last_name
CUST_MSTR.CUST_MI customer.middle_initial
CUST_MSTR.CUST_EMAIL customer.email_address
CUST_MSTR.CUST_NOTES customer.notes
Tip If Bridger prevents a mapping, it will tell you why. The most common reasons are that the target column already has a mapping, or the combination would create a duplicate. Mapping constraints are covered in Chapter 3.

The Mappings Panel

The mappings panel shows all mappings in the project, grouped by table. Each row begins with a status icon on the far left, followed by the source column, an arrow, and the target column. The default grouping is Source → Target—organized by source table, showing what each source column feeds. Switch to Target ← Source using the toggle in the mappings toolbar if you prefer to organize by destination. Both views show the same mappings; the choice is about which end you're thinking from at any given moment.

Working with a Mapping

Viewing Mapping Properties

Click any mapping in the mappings panel to select it. The mapping detail pane at the bottom of the panel shows the full properties: source and target endpoints, current status, transformation logic, and any attached notations.

You can also right-click a mapping and choose Show Properties. This updates both schema properties panes to reflect the endpoints of the selected mapping, which is useful when you want to cross-reference the source and target column details side by side.

Beyond transformation logic, you can attach other notations to a mapping—comments, open questions, assumptions, decisions, and any other notation types configured in your workbook. The Notations tab in the mapping detail pane is where they live. Notation types are covered in Chapter 3.

Setting a Status

Every mapping has a status that tracks where it stands in your team's review workflow. The status icon is the leftmost element on each mapping row. Click it directly to open a dropdown and choose a new status. The default status for new mappings is determined by your workbook's status code configuration.

Try changing one of your mappings now. The icon updates immediately to reflect the new status. Status codes and the full review workflow are covered in Chapter 3.

Reassigning Endpoints

If a mapping was created with the wrong source or target column, you can fix it without deleting and recreating. Right-click the mapping and choose Reassign Source or Reassign Target. A dialog opens showing the available tables and columns for that side of the migration. Select the correct column and confirm. The mapping updates in place, preserving any logic and notations already attached to it.

Removing Tables and Deleting Mappings

Deleting Mappings

To delete one or more mappings, select them in the mappings panel—hold Shift to select a range or Ctrl to add individual rows—then click the trashcan icon in the mappings panel toolbar. Bridger asks for confirmation before removing them.

Removing Tables

To remove one or more tables, select them in the source or target panel—Shift-click for a range, Ctrl-click to add individual tables—then right-click and choose Remove Selected Tables. If any selected table has mappings attached, Bridger will warn you that those mappings will also be deleted. Removing a table only removes it from this project; it does not affect the Library.

Saving Your Work

Use Ctrl+S to save. The asterisk in the window title disappears when the file is saved. Bridger does not autosave, so save frequently.

If you attempt to close the application or open another file while there are unsaved changes, Bridger prompts you to save, discard, or cancel. It will not silently discard your work.

What's Next

You've imported tables, created mappings, navigated the workspace, and seen the basic mapping lifecycle. Chapter 1 was orientation; this chapter was the hands-on walkthrough. From here, Chapter 3: Exploring Core Features goes deeper—status workflow, transformation logic, notation types, indicators, and source groups.