Migrate Spring Boot Banking Application from MySQL to PostgreSQL #30
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.
Migrate Spring Boot Banking Application from MySQL to PostgreSQL
Summary
This PR migrates the Spring Boot Banking Application from MySQL to PostgreSQL across all deployment environments (Docker Compose, Kubernetes, and Helm). The changes include updating Maven dependencies, container images, environment variables, health checks, volume paths, and JDBC connection strings to use PostgreSQL 16 instead of MySQL.
Key Changes:
mysql-connector-javawithpostgresqldriverpostgres:16, updated environment variables and health checkspostgres:16, changed ports from 3306 to 5432Review & Testing Checklist for Human
Secret key mismatch in Helm StatefulSet - The template uses
POSTGRES_PASSWORDenvironment variable but referencesmysql-secretwithMYSQL_ROOT_PASSWORDkey. This will cause deployment failures. Need to either update the secret keys or change the environment variable references.Service naming consistency - Several resources still reference "mysql" in names (e.g.,
mysql-svc,mysql-secret) but are now serving PostgreSQL. Verify if these should be renamed or if they're intentionally kept for backward compatibility.End-to-end deployment testing - These changes have NOT been tested in actual deployment environments. Must test clean deployments in Docker Compose, Kubernetes, and Helm to ensure all configurations work together.
Data migration strategy - If existing MySQL data needs to be preserved, a migration plan is required since PostgreSQL and MySQL have different data directory structures and formats.
Recommended Testing Plan
docker-compose upNotes