Skip to content

1.3.0: one database definition for installs, upgrades, and tests #127

Open
0 of 10 issues completed
Open

Description

@fjlopez

In short

In 1.3.0, one database changelog inside the backend defines every SITMUN database: fresh installs, upgrades from 1.2.9, and backend tests. Today five copies exist and they disagree, so fixes reach some installs and not others.

What is wrong today

Plan

Step Issue
One baseline changelog in the backend #123
Upgrade a 1.2.9 database on first start, plus an upgrade guide #124
Stop writing code lists at startup #125
CI checks that stop drift #126

The baseline also closes #92, #93, #94, #95, #96, and #101.

Decisions

  • Upgrades start from 1.2.9 only. Older installs move to 1.2.9 first.
  • The upgrade runs by itself when 1.3.0 starts. It stops with a clear message if the database is not at 1.2.9.
  • No 1.2.x patch. The Oracle service-check fix (sitmun-admin-app#516) ships in 1.3.0.
  • Languages belong to each deployment. The baseline ships five with English as default. Deployments switch the default with /api/language-default/change, disable languages they do not want, and add their own.
  • JDBC drivers are code list values an admin can add or delete. They are not set in application.yml.

Order

After the monorepo move (#105), so one pull request can change the backend, the profiles, and CI together. Pull requests sitmun-backend-core#355 and #122 are closed or rescoped before the move, because the baseline replaces their database changes.

Work that touches no repository can start now: generating the schema from a 1.2.9 database and trying the upgrade SQL on H2, PostgreSQL, and Oracle.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestplannedActive backlog; exempt from stale bot

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions