Zum Inhalt

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.