DDL-Skripten über oAW generieren

Werbung
Innovator 11 eXcellence
DDL-Skripten über oAW
generieren
HowTo
Udo Ende
www.mid.de
HowTo DDL-Skripten über oAW generieren
Zweck
Aus einem physikalischen Datenbank-Schema in einem Modell von Innovator Data eXcellence soll
über openArchitectureWare (oAW) das zugehörige DDL-Skript generiert werden.
Vorgehensweise
Die Generierung von DDL-Skripten aus Innovator Data eXcellence erfolgt über eine konfigurierte Engineering-Aktion, die mit dem Profil DB Base zur Verfügung gestellt wird. Die Engineering-Aktion ist
eine Java-Applikation, die über das Innovator JAPI mit dem Repositoryserver kommuniziert, zur Selektion die Daten sammelt und über oAW-Generierung die entsprechende Datei mit den SQL-Statements erzeugt.
Engineering-Aktion konfigurieren
Engineering-Aktionen sind Bestandteil eines Profils und werden im Konfigurationseditor angepasst.
Wenn Sie diese Engineering-Aktion wie vorkonfiguriert belassen, werden Standard-oAW-WorkflowDateien und Standard-Schablonen der MID für die Generierung der DDLs verwendet. Die generierte
Datei wird in ein Unterverzeichnis \ddl unterhalb des $INOTMP-Verzeichnisses geschrieben.
Eigenschaftendialog der Engineering-Aktion öffnen
Sie können die Eigenschaften vorkonfigurierter Engineering-Aktionen Ihren Bedürfnissen anpassen.
So gehen Sie vor
Um den Eigenschaftendialog der Engineering-Aktion zu öffnen:
» Wechseln Sie mit Wechseln>Konfiguration in den Konfigurationseditor Ihres Datenmodells.
» Wählen Sie Ansicht>Aktionen.
Sie befinden sich in der Ansicht Aktionen.
» Selektieren Sie im Profilbaum im Profil DB Base die Aktionssequenz DDL generieren.
» Selektieren Sie in der Liste der Profilelemente die untergeordnete Engineering-Aktion.
1
HowTo DDL-Skripten über oAW generieren
» Wählen Sie Bearbeiten>Eigenschaften.
Die gleichnamige Dialogbox erscheint.
2
HowTo DDL-Skripten über oAW generieren
Argumente der Engineering-Aktion anpassen
So gehen Sie vor
Um die Argumente der Engineering-Aktion anzupassen:
» Das erste Argument db_workflow.oaw verweist auf die Standard-oAW-Workflow-Datei der MID.
Das Ändern dieser Einstellung bedarf genauerer oAW-Kenntnisse und wird deshalb nicht detailliert
erklärt. Sollte es erforderlich sein, kann hier nur ein Dateiname ohne Pfad stehen, da oAW hier
nichts anderes auflöst. Sollte ein anderer Workflow verwendet werden, muss eventuell der Pfad
zur Workflow-Datei im Klassenpfad eingehängt werden (s. u.).
» Alle weiteren Argumente benötigen ein –p vor dem Argument. Dies entspricht dem oAW-Standard.
» Das zweite Argument innovator.language darf nicht verändert werden.
» Das dritte Argument prj.root.dir steht in Anführungszeichen, um falsche Argumentauflösungen z. B. durch Leerzeichen im Projekt-Root-Verzeichnisname zu verhindern.
Darüber hinaus gibt es noch weitere Argumente:
y
commentsDesired ist standardmäßig true. Mit false kann die Ausgabe von KommentarStatements unterdrückt werden.
y
createIndexPositioning ist standardmäßig AfterAllTables, wodurch die IndexStatements erst nach allen Tabellen-Statements positioniert werden. Mit EachTableMiddle kann
die Ausgabe bei jeder Tabelle direkt vor den Kommentar-Statements erfolgen, mit EachTableEnd
am Ende jeder Tabelle.
y
dbType ist standardmäßig Unknown. Mit Oracle, MSSQL, MySQL oder DB2 können datenbankspezifische Positionierungen im DDL-Skript für Optionen erreicht werden. Neben der standardmäßigen Nachfolge der Option im DDL-Statement kann diese hiermit alternativ nachfolgend sein oder
gar weggelassen werden.
3
HowTo DDL-Skripten über oAW generieren
Diese Positionierung wird über eine Konfigurationsdatei positions.xml aus InoIMInOut.jar
(siehe Eintrag im Klassenpfad) gelesen, in der die zu berücksichtigenden Positionierungen hinterlegt sind. Mit dem Argument positionsRessourceFileName kann auf eine eigene XMLKonfigurationsdatei verwiesen werden. Genaueres im Folgenden unter "Anpassen der Positionierungen für Optionen von DB-Elementen".
y
endingQuoter ist standardmäßig leer. Durch Angabe einer Zeichenkette erhalten alle Namen
von Tabellen, Spalten u. ä. diese Zeichenkette hintangestellt.
y
foreignKeyWithConstraint ist standardmäßig true, wodurch alle ForeignKey-Statements
hinter dem ADD ein CONSTRAINT plus Name des ForeignKeys bekommen. Mit false werden
diese unterdrückt.
y
foreignKeyandTriggersPositioning ist standardmäßig AfterAllTables, wodurch die
ForeignKey- und Trigger-Statements erst nach allen Tabellen-Statements positioniert werden. Mit
EachTableMiddle kann die Ausgabe bei jeder Tabelle nach den Kommentar-Statements erfolgen, mit EachTableEnd am Ende jeder Tabelle.
y
indexForPrimaryKey ist standardmäßig false, wodurch für PrimaryKeys nicht automatisiert
Indizes zusätzlich erzeugt werden. Mit true werden diese erzeugt.
y
leadingQuoter ist standardmäßig leer. Durch Angabe einer Zeichenkette erhalten alle Namen
von Tabellen, Spalten u. ä. diese Zeichenkette vorangestellt.
y
primarykeyInCreate ist standardmäßig false, wodurch alle PrimaryKey-Statements hinter
allen Tabellen-Statements positioniert werden. Mit true folgen diese direkt hinter den Tabellenspalten-Statements.
y
showNulls ist standardmäßig true, wodurch ein NULL hinter den Tabellenspalten positioniert
wird, falls diese nullable sind. Mit false kann diese Ausgabe unterdrückt werden.
y
showtableOwner ist standardmäßig false. Mit true kann der Innovator-Besitzer als DBSchemaname vor die Tabellennamen, getrennt durch einen Punkt von diesen, gesetzt werden.
y
singleFilename ist standardmäßig AllDBData und bestimmt den Dateinamen der generierten
Datei, dem ein „.sql“ angehängt wird. Über dieses Argument kann der Dateiname direkt bestimmt
werden.
y
tableNamePrefix ist standardmäßig leer. Durch Angabe einer Zeichenkette erhalten alle Namen von Tabellen diese Zeichenkette als Namenspräfix vorangestellt.
y
uniqueconstraintInCreate ist standardmäßig false, wodurch alle UniqueConstraintStatements hinter allen Tabellen-Statements positioniert werden. Mit true folgen diese direkt hinter den Tabellenspalten-Statements.
4
HowTo DDL-Skripten über oAW generieren
Klassenpfad für Einbindung eigener Workflow-Dateien anpassen
So gehen Sie vor
Um den Klassenpfad zu erweitern:
» Selektieren Sie die Eigenschaftsseite Klassenpfad.
» Klicken Sie auf die Schaltfläche , um einen neuen Eintrag zu erzeugen und das Verzeichnis der
Workflow-Datei über die Schaltfläche
auszuwählen
oder
klicken Sie auf die Schaltfläche , um den Klassenpfad in einem Textfeld direkt einzutragen.
Die letzte Zeile im Bild ist ein Beispiel für den Pfad zu einer eigenen Workflow-Datei.
Anpassen der Positionierungen für Optionen von DB-Elementen
Die Konfigurationsdatei positions.xml (Verweis mit dem Argument positionsRessourceFileName) enthält ein Root Tag Options, darunter datenbankspezifische Tags OracleOptions,
SQLServerOptions, DB2Options und MySQLOptions.
Darunter kann es jeweils wieder Tags TableOptions, ColumnOptions, PKOptions, FKOptions
und IndexOptions geben. Jedes dieser Tags kann ein Tag Option mit Attribut position enthalten. Der Inhalt des Tags Option ist der Innovator-Name der jeweiligen Option, das Attribut bestimmt
die Positionierung des Attributs: leading stellt die Option vor das zugehörige Keyword, leftOut
lässt die Option wegfallen.
Anpassen der Zeilenumbrüche und Tabulatoren in den Ausgabedateien
Durch Konfiguration eines PostProcessors in der Workflow-Datei kann man die Zeichen für Zeilenumbrüche und Tabulatoren beeinflussen. Diese Möglichkeit bedarf genauerer oAW-Kenntnisse und
wird deshalb nicht detailliert erklärt.
5
HowTo DDL-Skripten über oAW generieren
Engineering-Aktion ausführen
Die konfigurierte Engineering-Aktion führen Sie aus, um das DDL-Skript zu dem Datenbank-Schema
zu generieren. Selektieren Sie im Modellbrowser ein Paket, in dem die Tabellen liegen, für die DDLSkripten erzeugt werden sollen, oder die Tabellen selbst und wählen Sie Engineering>Aktion
ausführen>DDL generieren.
Copyright © 2010 MID GmbH
Bei Fragen wenden Sie sich bitte an unsere Hotline. Telefon: +49 (0)911 96836-222, E-Mail: [email protected].
Dieses Dokument finden Sie neben anderen auch im exklusiven Login-Download-Bereich für Innovator-Wartungskunden unter
http://www.mid.de/support/.
Ihre MID
Innovator 11.2 HowTo DDL generieren eXcellence 100630.doc
MID GmbH, Kressengartenstraße 10, 90402 Nürnberg
Telefon: +49 (0)911 96836-0, Fax: +49 (0)911 96836-100, E-Mail: [email protected], Internet: http://www.mid.de
6
Herunterladen