Repository navigation
refactor: extract shared migration primitives - #60
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Data Transfer depended on the Data Sync domain crate to use recordset bounds, endpoint pairing and SQL name helpers. This change gives those shared implementations explicit owners so the migration engines can be reused independently by desktop and server hosts.
datazen-migration-commonfor typed recordset-bound conversion/comparison and category/family pairing. Data Sync and Data Transfer depend on this package; remove Data Transfer's dependency on Data Sync.driver-api::sql_identifiers. Preserve Data Sync's public utility paths through re-exports and update Transfer and desktop adapter imports.Existing pairing, SQL rendering and error behavior are preserved. The family-based qualification helper remains a compatibility utility; driver-owned SQL rewriting continues through
DatabaseDriver::qualified_sql.Test plan
cargo fmt --all -- --check— passed after correcting import ordering and the redundant pairing re-export alias.Rust library suites:
cargo test --offline --lib -p datazen-migration-common -p datazen-driver-api -p datazen-data-sync -p datazen-data-transfer -p datazen-schema-diff— 970 passed.cargo test --offline -p datazen-data-sync --tests— 179 library tests and 22 integration tests passed.Boundary guard and crate-discovery Vitest suites — 79 passed across 2 files.
Full typecheck steps executed directly: restore-block guard,
tsc --noEmit, scripts typecheck and pack-EP typecheck — passed.cargo check --offline -p datazen --lib— passed.Real Cargo dependency boundary check, driver protocol compatibility check and platform-crate discovery dry run — passed; the new package is selected by CI discovery.
git diff --check— passed. HEAD and workspace fingerprints matched before/after verification.Checklist