In unserem Masterprojekt werden für einige gemeinsam genutzte Features (News, Glossar, Kontakte ...) Datenbankschemata mit Tabellenvorlagen verwaltet. Die Tabellen werden im Master lediglich mit Testdaten befüllt; in den Zielprojekten liegen die produktiven Daten in jeweils separaten Datenbanken auf projektspezifischen Layern. In den Zielprojekten sollen jeweils Schemadefinition, Formular, Mapping und Tabellentemplates über ein Vorlagenpaketverwaltung vom Master aktualisiert werden, aber ihre eigenen Daten behalten.
Es sollen mehrere aber nicht alle Datenbankschemata auf diese Weise gewartet werden.
Das Problem ist, dass über die Paketverwaltung auch der Layer des Schemas in den Zielprojekten geändert wird; ich habe erfahren, dass es über ein Skript möglich ist, den Layer im Anschluss an die Aktualisierung wieder auf die ursprüngliche, projektlokale Definition umzubiegen.
Mir ist bekannt, dass diese Frage schon mal in diesem Thread und diesem Thread behandelt worden ist, aber ich bin mit den dort gegebenen Hilfestellungen noch nicht zum Ziel gekommen.
Die Vorgehensweise mit Arbeitsablauf und Skript habe ich prinzipiell verstanden, ich scheitere aber an der Umsetzung.
Gibt es vielleicht ein fertiges Beispiel-Skript, dass ich nur noch anpassen müsste? Das wäre extrem hilfreich.
Andernfalls:
Ich stecke insbesondere an zwei Stellen fest:
2) Das Skript macht jetzt folgendes (Dabei ist es egal ob es ein automatisches oder manuelles Paket ist!)
Nach dem Ausrollen holt sich das Skript das Schema und macht folgendes
Wie holt sich das Skript das jeweilige Schema des Zielprojekts? Es sollen ja nicht alle Schemata angepasst werden, sondern nur die, die auch im Paket drin sind.
+ Setzen des projektlokalen Layers
Wie mache ich das konkret? Insbesondere finde ich keine Methode setLayer() oder dergleichen.
Viele Grüße aus Darmstadt,
Tobias Thalmann