Add end-to-end tests to verify data type support when migrating from MySQL #1243
Merged
pratickchokhani merged 13 commits intoGoogleCloudPlatform:masterfrom Jan 7, 2026
Merged
Conversation
17e06d5 to
21c5dcf
Compare
…igrating from MySQL
…d to when migrating from MySQL
21c5dcf to
25bb3e2
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1243 +/- ##
==========================================
- Coverage 47.22% 47.22% -0.01%
==========================================
Files 231 231
Lines 26698 26698
Branches 581 581
==========================================
- Hits 12609 12607 -2
- Misses 13368 13370 +2
Partials 721 721
🚀 New features to boost your workflow:
|
b4f383c to
1af852e
Compare
pratickchokhani
approved these changes
Dec 26, 2025
pratickchokhani
approved these changes
Jan 5, 2026
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.
This PR adds end-to-end tests to verify data type support when migrating from a MySQL database. It focuses only on the schema migration portion, verification for the data migration is not included here.
The expected data type mappings were determined based on the SMT documentation and Spanner's own documentation.
These end-to-end tests are expected to run against an actual Spanner instance, not an emulated Spanner instance. As such, they have been separated from the other integration tests with a new env var, SPANNER_MIGRATION_TOOL_RUN_E2E_TESTS, to indicate that the E2E tests should be run.
Additionally, given that these run against an actual Spanner instance, they're a bit slower than other tests (on the order of minutes, not seconds). I expect it makes more sense to only run these on-demand instead of for every build.
Also, note that some of these tests don't actually pass: I've written them under the expectation that the mappings defined in the documentation above are correct. Unfortunately, this is not always the case and the documentation differs from the actual implementation for a few of the types. I'll be including the full details of all the issues and disparities in the actual parity report.