Skip to main content

Mehr → Alle SQL-Tabellen exportieren / SQL-Tabellen importieren

Dieselben beiden Schritte wie SQL Tabelle anlegen und SQL Tabelle ändern, nur für eine ganze Datenbank statt für eine Tabelle. Gemeint ist der Umzug vom Entwicklungssystem zum Kunden: dort stehen zwanzig Tabellen, hier keine davon.

Was in der Datei steht

Die Datei beschreibt den Aufbau jeder Tabelle – Spalten, Typ, Länge, Stellen, NULL, Standardwert – und keine einzige Zeile Daten.

Das ist keine Sicherung. Wer Daten mitnehmen will, nimmt ein Werkzeug der Datenbank.

Sichten, Indizes, UNIQUE-Bedingungen, Fremdschlüssel und Trigger gehen nicht mit: was dieser Editor nicht anlegen kann, verspricht er auch nicht. Die Typen in der Datei sind die des Editors und nicht die einer bestimmten Datenbank – nur so lässt sich eine MySQL- in eine MS-SQL-Datenbank spielen. Ein TINYINT kommt deshalb als SMALLINT wieder an.

Exportieren

Angeboten werden die Datenbanken, in denen dieser Editor Tabellen anlegen darf. Die Workflow-Datenbank, das Repository und Squeeze stehen nicht dabei: ihr Aufbau gehört zum Produkt, kommt aus der Auslieferung und wäre in der Datei nichts als Länge – siehe Geschützte Datenbanken.

Gelesen wird je Verbindung ein Aufruf; zusammengesetzt wird die Datei in der Seite. Eine Datenbank, die nicht antwortet, steht als Fehler in der Rückmeldung, die übrigen kommen trotzdem mit.

Importieren

Angeglichen wird in eine Richtung, und zwar genau in den drei Fällen, bei denen nichts verlorengeht:

Fall Was geschieht
Tabelle fehlt wird angelegt
Spalte fehlt wird ergänzt
Zeichenspalte ist kürzer als in der Datei wird verlängert

Gelöscht wird nichts. Eine Spalte, die in der Datei fehlt, aber in der Zieltabelle steht, bleibt stehen. Verkleinert wird nichts, und kein Typ wird umgedeutet: beides steht als Hinweis in der Planzeile und wird nicht ausgeführt.

Der Fall, um den es vor allem geht, ist der zusammengesetzte: eine Tabelle, die seit dem letzten Abgleich ein Feld dazubekommen hat und bei der eine Länge gewachsen ist, kommt in einem Lauf nach.

Schritt 1: Verbindungen zuordnen

Die Verbindungen aus der Datei werden denen dieser Installation zugeordnet, voreingestellt gleicher Name. Zur Wahl stehen die Datenbanken, in denen etwas entstehen darf. Eine Verbindung aus der Datei, zu der hier keine passt, bleibt auf nicht importieren.

Die Datenbanken des Produkts stehen auch hier nicht zur Wahl. Eine Zeile, die auf eine von ihnen zeigt, bleibt auf nicht importieren – siehe Geschützte Datenbanken.

Schritt 2: „Das würde geschehen“

Prüfen rechnet den Plan; dieser Schritt liest nur. Danach steht Tabelle für Tabelle da, was entstünde, mit einem Haken je Zeile, der sich abwählen lässt, und mit Hinweisen zu allem, was übergangen wird (anderer Typ, kürzere Länge, unbekannter Typ, unbrauchbarer Spaltenname, Sicht statt Tabelle, geschützte Datenbank).

Jede neu angelegte Tabelle bekommt auch hier ID und Licence vorangestellt.

Erst Importieren schreibt – über dieselben Schritte wie SQL Tabelle anlegen und SQL Tabelle ändern, und damit unter denselben Grenzen.

Danach

Eine neue Spalte ist erst zu gebrauchen, wenn eine Definition sie kennt. Der Reiter Spalten nimmt sie über + aus Tabelle … in die passende Definition auf.