ADR 0004: Use Flyway and PostgreSQL

Status

Accepted

Context

The project should demonstrate production persistence discipline. Letting Hibernate update schemas automatically hides important database changes and makes CI less representative of production.

Decision

Use PostgreSQL as the primary relational database and Flyway for all schema changes. Hibernate validates the schema with ddl-auto=validate.

Consequences

Benefits:

Trade-offs: