Skip to content

v2.0.0 - PostgreSQL 16 Migration & Cutover

Choose a tag to compare

@rajeshm20 rajeshm20 released this 13 Sep 15:27
· 28 commits to main since this release
7733fb0

Major Release: PostgreSQL 16 Cutover & Infrastructure Modernization

This major release completes the transition of StudentAppBackend from MySQL to PostgreSQL 16.

Highlights & Key Improvements

  • Database Driver Swap: Replaced FluentMySQLDriver with FluentPostgresDriver (pinned postgres-nio < 1.33.0 for Linux toolchain compatibility).
  • Fail-Loudly Environment Validation: Removed insecure fallbacks and enforced strict presence of DATABASE_HOST, DATABASE_PORT, DATABASE_USERNAME, DATABASE_PASSWORD, and DATABASE_NAME.
  • PostgreSQL-Compliant Schemas: Updated migrations to support PostgreSQL unique constraint syntax, column case quoting (contactNumber), and canonicalized user registration flows.
  • Hardened CI/CD: Tests now run against a dedicated PostgreSQL 16 Alpine container with service healthchecks and masked credentials.
  • Migration & Rollback Toolkit: Shipped runbooks and ETL verification scripts in scripts/migration/.
  • Legacy MySQL Snapshot: Tagged pre-migration MySQL state as v1.0.0-mysql.

Full PR Details: #51