Datenmigration DTA → DB¶
Ausgangslage¶
- Ca. 100'000+ .dta-Dateien
- 20 Ranges (SIG01–SIG20), je A–Z Unterordner
- Formate: LONGFILE (neu) + SHORT (alt/DOS)
- Parser bereits implementiert (PHP, SIG-DTA-Viewer)
Migrationsstrategie¶
1. Einmalige Bulk-Migration¶
-- Für jeden .dta-File:
-- 1. titleNo via sigShortName + rangeCode aus SIGtitles holen
-- 2. Frequenz aus Dateiname (d/w/m/y)
-- 3. Alle Records parsen und als Batch INSERT
INSERT INTO prices (title_no, freq, dt, high, low, close, open, volume)
VALUES (@titleNo, @freq, @dt, @high, @low, @close, @open, @volume)
ON CONFLICT DO NOTHING;
2. Script-Basis¶
Der bestehende PHP-Parser (SIG-DTA-Viewer) kennt bereits: - LONGFILE- und SHORT-Format - Dateinamens-Dekodierung (Range + Symbol) - MSSQL-Verbindung
Erweiterung: Statt Anzeige → direkter INSERT in prices-Tabelle.
Validierung¶
Nach Migration vergleichen: - Anzahl Records pro Titel: DTA vs DB - Letzte 10 Datenpunkte: DTA vs DB - Checksumme Close-Werte
Laufender Betrieb¶
Nach Migration: SIGHttpSvr schreibt neue Kursdaten direkt in DB statt in .dta-Files.