Browser compare
The browser compare view treats the selected external source as current and the open model as desired. Review each change before downloading the accepted migration. Rejecting a change keeps the source definition when applying it to the open model.
Model and DDL sources are local paths. Database credentials are used only for the import request and are not returned by the compare API.
Starting a comparison
Open the Compare panel and select a model directory, a DDL file, or a database connection. The source is imported into a temporary session; it does not replace the open model. A session records a fingerprint of the exact source bytes so an apply request can detect stale input.
Changes are grouped by object and retain migration order inside each group. Added, changed, and removed objects use distinct diagram classes. Objects that exist only in the source remain visible as ghost nodes, using their saved layout position when one is available.
Decisions and output
Each change has a stable decision identifier. Accept changes that should move the current source toward the desired open model. Rejecting a change applies its inverse to the desired model, preserving the source definition for that object. Invalid or stale decision identifiers are conflicts and do not write model files.
The migration download contains only accepted changes and uses the same destructive-change policy as the command line. Applying rejected changes first validates the resulting model, then performs minimal model-file edits. If validation or writing fails, the open model remains unchanged.
Database passwords and connection URIs are request-only values. Session JSON, error responses, logs, diagrams, and migration attachments omit them. External client failures are returned as gateway errors without echoing credentials.