Skip to content

refactor: consolidate Liquibase migrations into a single changeset per database#50

Merged
endrju19 merged 3 commits into
mainfrom
okapi-polishing
May 19, 2026
Merged

refactor: consolidate Liquibase migrations into a single changeset per database#50
endrju19 merged 3 commits into
mainfrom
okapi-polishing

Conversation

@endrju19

Copy link
Copy Markdown
Collaborator

Summary

  • Collapse okapi's incremental Liquibase changelogs into one 001__create_okapi_outbox_table.sql per database — PostgreSQL 4 changesets → 1, MySQL 3 → 1. Each changelog.xml now includes only the consolidated file; the per-step migration files are removed.
  • Net schema for a new installation is unchanged (same table, columns, both indexes); new users get the full schema from a single changeset instead of replaying the change history.
  • CHANGELOG documents the consolidation and that the outbox:001 checksum changes — existing installations must start on a fresh okapi schema, or clear okapi's rows from okapi_databasechangelog, before upgrading.

Test Plan

  • LiquibaseE2ETest (PostgreSQL + MySQL Spring Boot autoconfig, real Liquibase on Testcontainers) — 8/8 passing
  • Concurrency claim/purge integration tests (exercise the consolidated schema + indexes via real INSERT/claim) — 4/4 passing
  • Full ./gradlew ktlintCheck clean

@endrju19 endrju19 merged commit eb0e4c3 into main May 19, 2026
8 checks passed
@endrju19 endrju19 deleted the okapi-polishing branch May 19, 2026 17:01
endrju19 added a commit that referenced this pull request Jun 8, 2026
Three-reviewer team (completeness / technical truth / format) found no
correctness errors, only precision fixes:
- clock removal now cites #59 (actual ctor-param removal), #58 as the cause
- add missing #50 ref to the Liquibase-consolidation bullet
- drop 'infinite retry loop' (RetryPolicy maxRetries is finite) -> 'wasted
  the whole retry budget before being marked FAILED'
- #42: don't name @AutoConfigureAfter (code uses @autoConfiguration afterName)
Cosmetic-only notes (Added bold-lead, trailing-URL line length) left as-is:
they match the existing 0.2.0/0.1.0 style.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant