SubTables und Auffrischungen
TechNote
Seit 4D v11 unterstützt 4D keine Subtables (Untertabellen) mehr. Nada. Aus und vorbei. So halbwegs. Die Subtables werden in “echte” Tabellen konvertiert und mit 2 neuen Feldern (Primary/Foreign Key) versorgt. Das geschieht automatisch. Solange der Entwickler von diesem Link die Finger lässt, läuft alles wie gehabt weiter.
Werden diese automatischen Links gelöscht ohne sich vorher um einen Ersatz (z.B. automatisches UUID Feld) zu kümmern, dann war’s das mit der Relation. Hops und vorbei, kein “Undo”. Bewährt hat sich diese Vorgehensweise:
- In der Haupttabelle ein automatisches UUID Feld anlegen (ok, wer will kann’s selbst machen und für sein Geld arbeiten)
- In der neuen-alten Untertabelle ebenfalls ein UUID Feld anlegen. Da kommen die Werte aus der Haupttabelle rein
- Über alle Datensätze der Haupttabelle gehen und mit GENERATE UUID das UUID Feld füllen
- Die Datensätze der neuen-alten Untertabelle mit diesen Werten versorgen
- Jetzt darf der von 4D angelegte automatische Link in Rente geschickt/recycelt werden.
- Die beiden UUID Felder verlinken (Linie ziehen…) und daraufachten, dass “Automatische Wert in Untertabelle übertragen” auch angeklickt ist
Das war’s dann im wesentlichen auch schon. Was in der TechNote steht? Keine Ahnung, noch nicht gelesen, ist den 4D Partnern vorbehalten. Steht ansich aber auch schon im Upgrade-Handbuch der 4D v11. – Immer daran denken: bei der Konvertierung von 4D 2004 auf die v12 unbedingt auch das Upgrade-Handbuch zur v11 lesen. Das von der v12 verweist da nur lapidar drauf, das überliest sich schnell.
TechTipps
- Flush versus Purge
Kurzfassung: Ansich nicht mehr notwending, 4D flusht alle 20 Sekunden - A utility method to find how many duplicates are in a table using SQL DISTINCT
- Global Search and Replace
Tröster für alle aus der Gruppe “…will den Insider zurück!” - How to access “record numbers” in a SQL query?
Für alle die vom neuen Trend “NoSQL” noch nichts mitbekommen habe. - The Ins and Outs to using a User Startup Method
Oh man – Trolle über’s Wochenende füttern…