Nils Waldherr stellte eine trickreiche Methode vor, um Daten innerhalb des Schemas einer FileMaker-Tabelle zu speichern und zu übertragen. Ausgangspunkt für diese Methode war die Überlegung, dass es hilfreich wäre, bei einer Dateimigration per “Clone ohne Datensätze” zusätzliche Informationen an das Zielsystem zu übermitteln. Im gezeigten Beispiel sollten also die Versions-Nummer für das Update, ein Zeitstempel, ein Infotext und weitere Einstellungs-Datensätze im Migrations-Ablauf vom Entwicklungs-Server auf das Produktiv-System übertragen werden.

In dem Moment, wo der “Clone ohne Datensätze” erstellt wird, gehen jedoch alle gespeicherten Feld-Inhalt verloren. Daher verwendet Nils Methode den “Default-Wert” innerhalb des Schemas, um dort beliebige Inhalte in Form eines JSON-Objekts zu speichern.

Möglich wird dies durch die Verwendung des MBS-Befehls “FM.ExecuteFileSQLOnIdle”. Dieser erlaubt mit Hilfe des Kommandos “ALTER TABLE” auch die Veränderung des “Default-Werts” von Feldern innerhalb einer Tabelle.

Für das Auslesen der so gespeicherten Information auf dem Zielsystem nach der Migration wird zunächst ein neuer Datensatz erzeugt, welcher dann den erzeugten Default-Wert im verwendeten Feld erhält. Dieser kann durch ein Script gelesen und verarbeitet werden. Der erzeugte Datensatz wird anschließend gleich wieder gelöscht.

Die Methode eignet sich hervorragend im Zusammenspiel mit OttoFMS, wo sich der gesamte Migrations-Ablauf von Server zu Server komfortabel automatisieren lässt. Nils demonstrierte den Ablauf und gab Einblick die zugrunde liegenden Mechanismen.

Die komplette Methode ist in folgendem Blog-Beitrag ausführlich beschrieben:
https://www.mbsplugins.de/archive/2024-05-09/Storing_data_in_the_FileMaker_/monkeybreadsoftware_blog_filemaker

Eine Beispieldatei lässt sich im git-Repo “FT Build Info” laden:
https://github.com/fmgarage/ft-buildinfo