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 TrackingTableconnect_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.
## 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)
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 main2026-10-28 10:41:00 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Aenderung (Breaking, neue Minor
v0.2.0)migrate.TrackingTable(festconnect_schema_migrations) entfaellt. Stattdessenmigrate.New(table)/MustNew(table)liefert einen*MigratormitUpundDownOne;Loadbleibt Paketfunktion.^[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 altenschema_migrationsunveraendert.common/MINOR(neu, Wert2) bestimmt die Minor; bei neuer Minor entstehtcommon/v0.2.0, danach Patch-Zaehlung innerhalb der Minor.migrate_test.go(Namenspruefung, Up/DownOne mit getrennten Tabellen, Uebernahme der Legacy-Tabelle).Auswirkungsliste
connect,ai,dms,workflow: tragen interne Kopien mitTrackingTableconnect_schema_migrations(connect, ai),dms_schema_migrations(dms),workflow_schema_migrations(workflow). Beim Umstieg muss der jeweilige Name anmigrate.Newuebergeben 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).common@v0.1.xnutzt, ist nicht betroffen.Tests
131, frisches Wurfverzeichnis: build, vet,
go test ./...ohne Fehler, gofmt sauber. Die DB-Tests inmigrate_test.goundtestdbwurden uebersprungen (keinTEST_ADMIN_DSN); Lauf auf 204 steht aus und muss vor dem Merge passieren.🤖 Generated with Claude Code
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.