Richtigstellung zuerst: der vorige Commit trägt die Nachricht "Nichts davon gebaut", enthält aber bereits die Schema-Änderung an CaseTemplate und CaseCounter. Ein abgebrochener Aufruf hatte die Datei schon geschrieben, und das nachfolgende `git add -A` hat sie mitgenommen. Die Nachricht war damit falsch. Hier ist die Änderung vollständig und geprüft. Das Muster des Aktenzeichens gehört zur Vorlage: Präfix und Stellenzahl je Fallart, ein Nummernkreis je Präfix und Jahr. Die Abteilung führt gewachsene Präfixe wie AKT-PA-2026-62843 neben dem AfiS-2026-0042 aus dem Glossar. Die Migration ist von Hand geschrieben, weil der Wechsel des Primärschlüssels auf CaseCounter den bestehenden Zähler erhalten muss: eine zurückgesetzte Nummer wäre ein doppeltes Aktenzeichen. Vorher und nachher geprüft. parseCaseNumber zerlegt von hinten, damit Präfixe mit Bindestrich funktionieren. Ein Test belegt, dass AKT-PA und AfiS getrennte Nummernkreise führen. Dazu start.sh für die lokale Entwicklung, solange der Dockge-Stack nicht läuft: Datenbank hochfahren, Migrationen, Grundzustand, Worker und Web. Mit --ohne-worker für Arbeit ohne Discord und --nur-db für die Datenbank allein. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
21 lines
988 B
SQL
21 lines
988 B
SQL
-- Aktenzeichen-Muster je Vorlage, siehe docs/13-entscheidungen.md.
|
|
--
|
|
-- Die Abteilung führt gewachsene Präfixe wie "AKT-PA" mit fünfstelliger
|
|
-- Nummer. Das Muster gehört deshalb zur Vorlage, nicht ins Programm.
|
|
|
|
ALTER TABLE "CaseTemplate"
|
|
ADD COLUMN "numberPrefix" TEXT NOT NULL DEFAULT 'AfiS',
|
|
ADD COLUMN "numberPadding" INTEGER NOT NULL DEFAULT 4;
|
|
|
|
-- Der Nummernkreis läuft ab jetzt je Präfix und Jahr. Bestehende Zähler
|
|
-- gehören zum bisherigen Präfix "AfiS" und werden nicht zurückgesetzt:
|
|
-- eine erneut vergebene Nummer wäre ein doppeltes Aktenzeichen.
|
|
ALTER TABLE "CaseCounter" ADD COLUMN "prefix" TEXT NOT NULL DEFAULT 'AfiS';
|
|
|
|
ALTER TABLE "CaseCounter" DROP CONSTRAINT "CaseCounter_pkey";
|
|
ALTER TABLE "CaseCounter" ADD CONSTRAINT "CaseCounter_pkey" PRIMARY KEY ("prefix", "year");
|
|
|
|
-- Der Vorgabewert hat nur die vorhandenen Zeilen umgestellt; neue Zeilen
|
|
-- nennen ihr Präfix ausdrücklich.
|
|
ALTER TABLE "CaseCounter" ALTER COLUMN "prefix" DROP DEFAULT;
|