-- PROJ: Titel-Vorlage für Klassifizierungsvorlagen + globaler Tenant-Default
-- Doku-only (siehe README.md in diesem Verzeichnis) — die tatsächliche
-- Ausführung passiert idempotent über die Go-initSchema-Aufrufe:
--   * classification_templates.title_template ->
--     internal/storage/classification_templates.go (*Store).initClassificationTemplatesSchema()
--   * tenants.default_title_template ->
--     internal/tenantstore/store.go (*Store).initSchema()
--
-- Beim Anwenden einer Klassifizierungsvorlage (POST /api/documents/{id}/apply-template
-- ODER Workflow-Aktion apply_classification_template, gemeinsamer Code-Pfad in
-- internal/storage/classification_templates_apply.go ApplyTemplate) wird der
-- Dokumenttitel aus einer Go-text/template-Vorlage abgeleitet:
--   1. title_template der Vorlage (NULL = keine),
--   2. sonst tenant-weites default_title_template (NULL = keins),
--   3. sonst bleibt der bestehende Titel unangetastet.
-- Gesetzt wird NUR wenn documents.title_manually_set = false; title_manually_set
-- bleibt danach false (erneute Anwendung nach späterer Korrektur möglich). Bei
-- leerem/fehlerhaftem Render-Ergebnis Fallback auf den bestehenden Titel, nie
-- leerer String.
--
-- Platzhalter (Struct-Felder): {{.Correspondent}} {{.DocumentType}}
-- {{.Belegdatum}} {{.UploadDate}} {{.Tags}} {{.OCRTitle}}
-- Custom-Func dateFormat "02.01.2006" .Belegdatum (Go-Referenzdatum, leer bei
-- unbekanntem Datum). Validierung: internal/storage/classification_templates_title.go
-- ValidateTitleTemplate (Parse ohne Execute). Tenant-Default max. 500 Zeichen.

ALTER TABLE classification_templates
    ADD COLUMN IF NOT EXISTS title_template TEXT;

ALTER TABLE tenants
    ADD COLUMN IF NOT EXISTS default_title_template TEXT;
