Chapter 9: Dealing with Change
Updating schemas, syncing projects, and comparing workbooks when things change mid-engagement.
Schema changes are a fact of life in data migration work. The question is not whether your schemas will change mid-engagement, but how much work it takes to absorb those changes when they arrive.
Bridger handles schema evolution through a set of related but distinct operations. Understanding which one applies to your situation is the key to using them effectively.
Updating a Schema in the Library
When a vendor delivers a revised schema file, the starting point is the library. Right-click in the appropriate Source or Target tab and choose Add/Update Tables. Select the new file. Bridger compares the incoming file against what's already in the library and builds a sync manifest before making any changes.
The same operation works from a project panel. If your project tables were imported directly rather than pulled from the library, right-click in the source or target panel and choose Add/Update Tables with the updated file. The process is identical — a manifest is built and you review changes before anything is applied.
The Sync Manifest
The sync manifest is Bridger's answer to "what exactly is about to change." Before applying any update, Bridger presents a dialog showing every difference it found between the incoming schema and the current one.
The header summarizes what was found: new tables, modified tables, removed tables, and tables that are already current. Below that, each modified table expands to show its individual column changes — added columns, changed data types or lengths, removed columns. You can select or deselect individual changes before applying, which matters when a partial update is safer than taking everything at once.
If any incoming change could cause data loss — a column removal that has mappings against it, or a type change that affects a mapped column — a warning banner appears at the top of the dialog. The affected changes are flagged inline with a warning indicator and a brief reason. Nothing is blocked; Bridger warns you and lets you decide. Review those flagged items carefully before proceeding, and consider exporting the manifest first.
Click Apply to commit the selected changes. Existing mappings on modified columns are preserved; only the schema metadata (data type, length, nullability) is updated. Removed columns that have mappings will have those mappings left in place as orphaned — the validation pass described in Chapter 5 will surface them for cleanup.
Pulling Library Updates into Projects
Updating the library doesn't automatically update the projects that reference it. Once the library is current, you pull the changes into each affected project from the project side. This is the Sync Selected Tables operation described in Chapter 8.
Select the project tables you want to bring current, right-click, and choose Sync Selected Tables…. Bridger builds a new manifest comparing the library version of each table against the project version and presents the same review dialog. The flow from here is the same as above — review, select, apply.
The two-step process — update the library, then sync to projects — is intentional. It keeps the library as the authoritative schema and gives you a natural checkpoint between "the vendor sent a new file" and "the project is updated." If you have multiple projects drawing from the same library table, you can sync them independently on different timelines.
Comparing Two Workbooks
The sync operations above address schema drift. A different kind of drift can happen when two analysts work from separate workbooks and you need to understand how they diverge — or when you want to compare the current workbook against a baseline from an earlier phase of the engagement.
From the menu bar, choose Tools → Compare Workbook…. A dialog prompts you to select the workbook file you want to compare against the current one.
Before running the comparison, a set of checkboxes lets you scope what gets compared. The options cover configuration items (status codes, notation types, logic templates, auto-mapping rules, report templates) and library content (source library schema, target library schema). You can also include cross-reference checks for status and notation usage. Select what's relevant to your situation and click Compare.
The results dialog presents a formatted report of all differences found between the two workbooks across the areas you selected. Items that differ are listed with their values from each workbook side by side. You can copy the full report to the clipboard for inclusion in a status document or email.
Table Schema Comparison
If the comparison detects schema differences between the two workbooks' libraries, a View Schema Details button appears at the top of the results dialog. Clicking it opens a side-by-side column-level diff of the tables that diverged — which columns are present in one workbook but not the other, and where data types or other attributes differ.
This view is purely informational. It helps you understand the nature of the schema difference before deciding how to resolve it — whether that means updating one workbook's library from a fresh schema file, or confirming that the difference is intentional.
What's Next
The tools in this chapter assume you're working with a workbook that Bridger created or manages. Chapter 10: Importing an Old Map covers the other starting point — bringing an existing mapping spreadsheet from a previous engagement or an Excel-based mapping effort into Bridger for the first time.