Git-Repository für bestehenden archivdms-Code initialisiert, Branch-/Commit-Konvention (feature/<ticket>-<slug>-Branches, Ticket-Prefix in Commit-Nachricht) etabliert.
24 lines
1.2 KiB
SQL
24 lines
1.2 KiB
SQL
-- PROJ: Beleg-/Dokumentdatum (document_date) aus dem OCR-Text
|
|
-- Doku-only (siehe README.md in diesem Verzeichnis) — die tatsächliche
|
|
-- Ausführung passiert idempotent über
|
|
-- internal/storage/documents.go (*Store).initSchema().
|
|
--
|
|
-- Bisher wurde der WORM-Ablagepfad store/<tenant>/<yyyy>/<mm>/<hash>.<ext>
|
|
-- aus dem Scan-/Upload-Zeitpunkt (time.Now()) gebildet. Neu wird beim Upload
|
|
-- versucht, das echte Belegdatum (Rechnungs-/Dokumentdatum) aus dem OCR-Text
|
|
-- zu erkennen (extractDocumentDate in internal/api/date_extraction.go,
|
|
-- Regex-basiert: DD.MM.YYYY, DD.MM.YY, YYYY-MM-DD). Wird ein plausibles Datum
|
|
-- gefunden, bestimmt dessen Jahr/Monat den Ablagepfad; sonst Fallback auf den
|
|
-- Scan-Zeitpunkt wie bisher.
|
|
--
|
|
-- created_at bleibt unverändert der unveränderliche Scan-/Upload-Zeitstempel
|
|
-- (GoBD-Nachvollziehbarkeit). document_date ist ein SEPARATES, nullbares
|
|
-- Metadatenfeld: NULL bei Altbeständen und wenn kein Datum erkannt wurde.
|
|
--
|
|
-- Reprocess (POST /api/documents/{id}/reprocess) aktualisiert bei erneuter
|
|
-- OCR-Verarbeitung nur dieses Feld — die bereits WORM-gesperrte Datei und ihr
|
|
-- Ablagepfad werden NIEMALS nachträglich verschoben.
|
|
|
|
ALTER TABLE documents
|
|
ADD COLUMN IF NOT EXISTS document_date DATE;
|