Teilweise Updates per PATCH: Wie werden JSON-Daten für SQL-Updates analysiert?

9

Ich implementiere 'PATCH' auf der Serverseite für partielle Aktualisierungen meiner Ressourcen.

Unter der Annahme, dass nicht mein SQL-Datenbankschema in JSON-Anforderungen / -Antworten verfügbar macht, dh es gibt eine separate Zuordnung zwischen Schlüsseln in JSON und Spalten einer Tabelle, wie finde ich am besten heraus, welche Spalte ( s) um in JSON einer partiellen Aktualisierung in SQL zu aktualisieren?

Angenommen, meine Tabelle hat 3 Spalten: col_a , col_b und col_c , und die Zuordnung zwischen JSON-Schlüsseln zu Tabellenspalten lautet: a -> col_a, b -> col_b, c -> col_c . Gegeben JSON-PATCH data:

%Vor%

Was ist der beste Weg, diese partielle Aktualisierung programmatisch auf col_b der Tabelle anzuwenden, die meiner Ressource entspricht?

Natürlich kann ich diese Mappings in einem keys_to_columns dict irgendwo fest codieren, und bei jeder Anfrage mit patch_data kann ich so etwas tun:

%Vor%

Verwenden Sie dann mapped_updates , um die SQL-Anweisung für die DB-Aktualisierung zu erstellen. Wenn das obige ein KeyError wirft, weiß ich, dass die Anfragedaten ungültig sind und sie wegwerfen können. Und ich muss dies für jede Tabelle / Ressource tun, die ich habe.

Ich frage mich, ob es einen besseren Weg gibt.

    
MLister 10.05.2015, 04:27
quelle

2 Antworten

1

Dies ähnelt dem, was Sie vorhaben, aber statt Karten zu erstellen, können Sie stattdessen Klassen für jede Tabelle erstellen. Zum Beispiel:

%Vor%

Dies ist nur etwas Grundlegendes, um davon inspiriert zu werden, diese Klassen können erweitert werden, um noch viel mehr zu tun.

    
sirfz 12.05.2015 19:26
quelle
1
%Vor%     
Janom 15.05.2015 17:33
quelle

Tags und Links