fix: resolve PostgreSQL configuration mismatches (Issue #55) #56
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
This PR resolves configuration inconsistencies between the CI/CD pipeline and TestContainers setup that would prevent PostgreSQL integration tests from running correctly when re-enabled.
Changes Made
1. Fixed Flyway Migration Paths ✅
Files Modified:
openespi-datacustodian/src/test/resources/application-testcontainers-postgresql.ymlopenespi-thirdparty/src/test/resources/application-testcontainers-postgresql.ymlBefore (BROKEN):
After (FIXED):
Impact: Integration tests can now find and execute Flyway migrations when using testcontainers profile.
2. Upgraded PostgreSQL Version in CI/CD ✅
File Modified:
.github/workflows/ci.ymlBefore:
After:
Impact: Aligns CI/CD environment with TestContainers (both now use postgres:18).
3. Updated Test Documentation ✅
File Modified:
openespi-common/src/test/java/.../DataCustodianApplicationPostgresTest.javaUpdated
@Disabledannotation to clearly document:Test Results
Ran
DataCustodianApplicationPostgresTestwith all fixes applied:✅ Issue #55 Configuration Fixed:
❌ Issue #53 UUID Type Mismatch Still Blocks Tests:
This confirms that Issue #55 and Issue #53 are separate problems:
Technical Details - Why Issue #53 Still Fails
Root Cause
JPA Entity Definition:
Flyway Migration:
Schema Validation Failure:
java.sql.Types.UUID(native 16-byte PostgreSQL UUID)java.sql.Types.CHAR(36-character string:"550e8400-e29b-41d4-a716-446655440000")Types.CHAR ≠ Types.UUID→ FAILWhy CHAR(36)? Cross-database compatibility with H2 and MySQL which lack native UUID support in base migrations.
Resolution Required: Create vendor-specific V4 PostgreSQL migration to convert all 91 CHAR(36) columns to native UUID type. This is postponed until after MULTI_PHASE schema compliance plan to avoid double work on tables that will be restructured.
Why Merge This PR Despite Tests Still Disabled?
Verification Steps
Before This PR:
After This PR:
Related Issues
Checklist
Next Steps (After This PR)
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com