9907fda6f4
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
19 lines
1.3 KiB
SQL
19 lines
1.3 KiB
SQL
-- Pensionierung wird eine Eigenschaft der PERSON statt der Zeitachse (SPEZIFIKATION 3.13).
|
|
--
|
|
-- (1) `FinancialElement.retirementDecision` haelt den Bezugs-Entscheid von AHV, Pensionskasse
|
|
-- und Saeule 3a. Bisher lag er in `ElementTransitionValue` -- also am Schluessel
|
|
-- Element x Phasen-ID. Verschob sich das Pensionsalter, wanderte die Phasengrenze, und der
|
|
-- Entscheid musste verlustbehaftet von Grenze zu Grenze gerettet werden. Ohne Phasen-ID im
|
|
-- Schluessel ueberlebt er jede Zeitachsen-Aenderung.
|
|
--
|
|
-- (2) `Person.planningHorizonAge` macht das Planende explizit. Bisher ergab es sich
|
|
-- stillschweigend als Summe der Phasendauern -- zwei Szenarien konnten dadurch unbemerkt
|
|
-- verschieden weit rechnen und waren nicht vergleichbar. NULL bedeutet weiterhin
|
|
-- "aus den Phasendauern ableiten", der Wert ist also rueckwaertskompatibel.
|
|
--
|
|
-- Bewusst OHNE Datenmigration: Alte Entscheide in `ElementTransitionValue` bleiben liegen und
|
|
-- werden vom Rechenkern ignoriert. Die betroffenen Elemente erscheinen dadurch als
|
|
-- "Vorgabe ungeprueft" -- genau der Zustand, den das neue Drei-Zustands-Modell dafuer kennt.
|
|
ALTER TABLE "FinancialElement" ADD COLUMN "retirementDecision" JSONB;
|
|
ALTER TABLE "Person" ADD COLUMN "planningHorizonAge" INTEGER;
|