Add Flyway database plugin for Aurora DSQL#1
Merged
Conversation
Adds Java/Flyway adapter to the monorepo with: - Flyway plugin that extends PostgreSQL support for DSQL compatibility - Handles SET ROLE bypass (DSQL uses IAM authentication) - Handles advisory lock bypass (DSQL uses OCC) - Handles one-DDL-per-transaction requirement - Handles FOR UPDATE restrictions - Custom doClean() that drops views before tables Includes: - 5 implementation classes - 25 unit tests - 11 integration tests - CI workflow with DSQL cluster creation - Release workflow (Maven Central publishing TBD)
- Reframe 'Writing DSQL-Compatible Migrations' to focus on recommended patterns rather than listing unsupported operations - Simplify Docker example to be more practical and easier to understand - Add link to Aurora DSQL documentation for comprehensive feature info
- Trim verbose Javadocs to essential information - Remove duplicate V8 migration (view created by repeatable R__) - Rename V9 to V8 for sequential numbering - Add OCC troubleshooting section to README - Update test comments to reflect migration changes
f13a16b to
4acaf18
Compare
- Add unit tests for AuroraDSQLConnection, AuroraDSQLSchema, AuroraDSQLTable - Improve exception handling in AuroraDSQLConnection.lock() - Use PreparedStatement in integration test to prevent SQL injection - Add exponential backoff for async index polling in integration test - Use compiler release flag instead of source/target in pom.xml
pkale
reviewed
Jan 27, 2026
Benjscho
reviewed
Jan 27, 2026
- Upgrade from JDK 17 to JDK 21 across CI, release workflows, and pom.xml - Simplify URL detection to support PrivateLink endpoints (remove .on.aws requirement) - Remove OCC conflict troubleshooting section (not realistic for single-threaded Flyway) - Add unit test for PrivateLink endpoint URLs
Benjscho
reviewed
Jan 27, 2026
Benjscho
approved these changes
Jan 27, 2026
amaksimo
pushed a commit
that referenced
this pull request
Jan 28, 2026
Initial commit for DBeaver Plugin
amaksimo
added a commit
that referenced
this pull request
Apr 27, 2026
- Add back examples in migrate help text (pkale comment #1) - Restructure stderr/exitCode logic: always print stderr for diagnostics, gate failure on exitCode in both handleMigrate and handleTransform (pkale comments #2, #3, #4) - Add CLI integration tests for unfixable SQL (DROP CONSTRAINT), fixable SQL (FK + index), and prisma migrate diff pipe workflow (pkale comment #6) - Remove VARCHAR(30) assertion from workflow test (pkale comment #7) - Remove false claim about prebuilt binaries in README
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
Adds Java/Flyway adapter to the monorepo - the first Java adapter.
What's Included
Implementation (5 classes)
AuroraDSQLDatabaseType- URL detection, driver class, priorityAuroraDSQLDatabase- DDL transaction handling, schema history tableAuroraDSQLConnection- SET ROLE bypass, advisory lock bypassAuroraDSQLSchema- Custom doClean() that drops views before tablesAuroraDSQLTable- FOR UPDATE bypassTests
CI/CD
java-flyway-ci.yml- Build, unit test, integration test with DSQL clusterjava-flyway-release.yml- Release workflow (Maven Central publishing TBD)DSQL Compatibility
The plugin handles these DSQL-specific behaviors:
Testing
Unit tests pass locally. Integration tests verified against DSQL cluster
aftp56tv4kdk4ld7qyakksrlu4.dsql.us-east-1.on.aws.Next Steps