common v0.2.0: migrate mit Tabellenname als Parameter #385

Merged
patrick merged 1 commits from feat/common-migrate-v02 into main 2026-10-28 10:41:00 +01:00
Owner

Aenderung (Breaking, neue Minor v0.2.0)

  • migrate.TrackingTable (fest connect_schema_migrations) entfaellt. Stattdessen migrate.New(table) / MustNew(table) liefert einen *Migrator mit Up und DownOne; Load bleibt Paketfunktion.
  • Tabellenname wird gegen ^[a-z_][a-z0-9_]{0,62}$ geprueft (geht unquotiert in SQL). Der Advisory-Lock haengt jetzt am Tabellennamen statt an einem festen Namen. Uebernahme aus der alten schema_migrations unveraendert.
  • Tag-Workflow: common/MINOR (neu, Wert 2) bestimmt die Minor; bei neuer Minor entsteht common/v0.2.0, danach Patch-Zaehlung innerhalb der Minor.
  • Neue Tests migrate_test.go (Namenspruefung, Up/DownOne mit getrennten Tabellen, Uebernahme der Legacy-Tabelle).

Auswirkungsliste

  • connect, ai, dms, workflow: tragen interne Kopien mit TrackingTable connect_schema_migrations (connect, ai), dms_schema_migrations (dms), workflow_schema_migrations (workflow). Beim Umstieg muss der jeweilige Name an migrate.New uebergeben werden, sonst laufen auf Bestands-DBs alle Migrationen neu an. Umstellungs-PRs folgen je Modul; bis dahin aendert sich an den Modulen nichts (sie nutzen v0.1.0 oder ihre Kopien).
  • Wer common@v0.1.x nutzt, ist nicht betroffen.

Tests

131, frisches Wurfverzeichnis: build, vet, go test ./... ohne Fehler, gofmt sauber. Die DB-Tests in migrate_test.go und testdb wurden uebersprungen (kein TEST_ADMIN_DSN); Lauf auf 204 steht aus und muss vor dem Merge passieren.

🤖 Generated with Claude Code

## Aenderung (Breaking, neue Minor `v0.2.0`) - `migrate.TrackingTable` (fest `connect_schema_migrations`) entfaellt. Stattdessen `migrate.New(table)` / `MustNew(table)` liefert einen `*Migrator` mit `Up` und `DownOne`; `Load` bleibt Paketfunktion. - Tabellenname wird gegen `^[a-z_][a-z0-9_]{0,62}$` geprueft (geht unquotiert in SQL). Der Advisory-Lock haengt jetzt am Tabellennamen statt an einem festen Namen. Uebernahme aus der alten `schema_migrations` unveraendert. - Tag-Workflow: `common/MINOR` (neu, Wert `2`) bestimmt die Minor; bei neuer Minor entsteht `common/v0.2.0`, danach Patch-Zaehlung innerhalb der Minor. - Neue Tests `migrate_test.go` (Namenspruefung, Up/DownOne mit getrennten Tabellen, Uebernahme der Legacy-Tabelle). ## Auswirkungsliste - `connect`, `ai`, `dms`, `workflow`: tragen interne Kopien mit `TrackingTable` `connect_schema_migrations` (connect, ai), `dms_schema_migrations` (dms), `workflow_schema_migrations` (workflow). Beim Umstieg muss der jeweilige Name an `migrate.New` uebergeben werden, sonst laufen auf Bestands-DBs alle Migrationen neu an. Umstellungs-PRs folgen je Modul; bis dahin aendert sich an den Modulen nichts (sie nutzen v0.1.0 oder ihre Kopien). - Wer `common@v0.1.x` nutzt, ist nicht betroffen. ## Tests 131, frisches Wurfverzeichnis: build, vet, `go test ./...` ohne Fehler, gofmt sauber. Die DB-Tests in `migrate_test.go` und `testdb` wurden **uebersprungen** (kein `TEST_ADMIN_DSN`); Lauf auf 204 steht aus und muss vor dem Merge passieren. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-10-27 23:26:30 +01:00
common/migrate v0.2.0: Tabellenname als Parameter (migrate.New), Tag-Workflow mit common/MINOR
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Failing after 1m4s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Successful in 4s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Successful in 4s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Failing after 25s
CI / Web (dms-browser) (push) Failing after 1m28s
CI / Web (pdf-viewer) (push) Failing after 1m8s
CI / Web (shl) (push) Failing after 15s
CI / Core-Modul (Build/Vet/Test) (pull_request) Failing after 1m2s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Successful in 4s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Successful in 5s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Failing after 20s
CI / Web (dms-browser) (pull_request) Failing after 1m27s
CI / Web (pdf-viewer) (pull_request) Failing after 1m2s
CI / Web (shl) (pull_request) Failing after 13s
Supply-Chain-Scan (Go) / govulncheck (push) Failing after 2m46s
common Pflichttest-Gate / pflichttest-gate (pull_request) Successful in 9m21s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Successful in 2m56s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Failing after 3m4s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Failing after 1m57s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Successful in 3m3s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Successful in 9m12s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Failing after 2s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Failing after 3s
DB-Integrationstests / db-tests (pull_request) Canceled after 0s
f8905e9c64
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Owner

DB-Tests 2026-10-28 auf 204 gegen einen eigenen Wegwerf-Postgres 17 (initdb in /tmp, Port 55432, getrennte Datenbanken fuer TEST_ADMIN_DSN, TEST_TENANT_DSN und TEST_TENANT_DSN_B; nicht archivdms, nicht dms_dev), go test ./... -count=1 -p 1. Stand feat/common-migrate-v02: common/migrate (Namenspruefung, Up/DownOne mit getrennten Tabellen, Uebernahme der Legacy-Tabelle) und common/testdb gruen. Voraussetzung fuer den Merge erfuellt.

DB-Tests 2026-10-28 auf 204 gegen einen eigenen Wegwerf-Postgres 17 (initdb in /tmp, Port 55432, getrennte Datenbanken fuer TEST_ADMIN_DSN, TEST_TENANT_DSN und TEST_TENANT_DSN_B; nicht archivdms, nicht dms_dev), go test ./... -count=1 -p 1. Stand feat/common-migrate-v02: common/migrate (Namenspruefung, Up/DownOne mit getrennten Tabellen, Uebernahme der Legacy-Tabelle) und common/testdb gruen. Voraussetzung fuer den Merge erfuellt.
patrick merged commit 2e9ec88b81 into main 2026-10-28 10:41:00 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#385