Ich bin derzeit dabei, einen Software-Build-Prozess zu automatisieren, der ein in MySQL Workbench definiertes Datenbankschema enthält.
Mit den Scripting-Funktionen von Workbench möchte ich ein Workbench-Dokument öffnen und sein Schema als SQL-CREATE-Skript exportieren.
Ich würde gerne wissen, ob es eine Funktion gibt, die das gesamte Schema in einem Schritt als Datei von Workbench exportiert Exportieren | Forward Engineer-SQL-CREATE-Skript , das automatisch Abhängigkeiten zwischen Tabellen verarbeitet.
Ich habe im Modul DbMySQL
einige Kandidaten gefunden, die das tun könnten ( generateSQL(GrtNamedObject, dict, string)
und makeSQLExportScript(GrtNamedObject, dict, dict, dict)
), aber ich bin verwirrt über die erwarteten Parameter - die erste könnte das Schema-Objekt sein, aber was sind die anderen Argumente?
Kann mir jemand sagen, ob meine Annahme richtig ist und / oder mich mit Anwendungsbeispielen versorgen?
Bisher habe ich eine manuelle Lösung gefunden (beachten Sie, dass die Tabellen derzeit nicht nach ihren FK-Beziehungen sortiert werden):
%Vor%Die Frage bezieht sich auf How to Generieren Sie SQL-Skript von MySQL Workbench mit Command Line? , aber die dort gefundene Antwort ist wirklich abstrakt und sagt nichts über die Verwendung der Skriptfunktionen von MySQL Workbench aus.
Scheint, dass andere verknüpfte Fragen bekam im Dezember 2013 geantwortet, mit freundlicher Genehmigung von madhead , wenn auch mit kleinen trivialen Code-Fehlern und in Python anstatt Lua, also hier die Python-Version, die für mich funktioniert:
%Vor%Sieht ziemlich groß im Vergleich zur Loop-Variante aus, aber könnte Vorteile bringen (nicht getestet, aber ich könnte mir vorstellen, dass Workbench in der Lage ist, die richtige Reihenfolge zum Erstellen von Tabellen usw. zu finden) / p>
Ich bin mir auch nicht sicher, ob das schon existierte, als ich die Frage gestellt habe, aber trotzdem funktioniert das auf einer neuen Version.
Tags und Links scripting build-automation lua mysql-workbench