Projekt-Export / -Import mit lesend angebundenem DB-Layer
Author: oliver
Publication Date: 3/23/2012 11:59
Hallo Community,
folgende Situation:
- 1 Master-Projekt
- Stellt Templates für Slave-Projekte per Paketverwaltung bereit
- Hat die Template- und Daten-"Hoheit" über einen globalen DB-Layer, der auch in den Slave-Projekten verwendet wird
- d. h. nur im Master-Projekt ist der entsprechende DB-Layer schreibend und mit Schema-Sync angebunden
- X Slave-Projekte
- Erhalten Templates aus Master-Projekt per Paketverwaltung
- Greifen auf den globalen DB-Layer lesend zu (der Layer ist also "Schreibgeschützt" und ohne "Schema-Sync" angebunden)
- Alle Projekte sehen also im globalen DB-Layer die gleichen Daten.
Während der Entwicklung wurden noch nicht alle Slave-Projekte aufgesetzt. Nun, da das System kurz vor dem Production-Betrieb steht, sollen die restlichen Slave-Projekte erstellt werden. Die Frage ist, wie dies *mit möglichst wenig Aufwand* geschehen kann. Der angestrebte Ansatz ist, ein vorhandenes Slave-Projekt zu exportieren und den Export als Blueprint für die weiteren Slaves zu verwenden. Dies stellt sich jedoch als nicht so straight-forward wie erhofft dar. Folgendes sind meine bisherigen Beobachtungen:
- Ein Projekt, in dem ein DB-Layer lesend und ohne Schema-Sync eingebunden ist, kann nach einem Export nicht wieder importiert werden.
- Startet man den Import eines solchen Projektes, kann für den lesend angebundenen Layer kein Ziel-Layer ausgewählt werden. (Warum ist das so?) Ohne Auswahl eines Ziel-Layers kann jedoch der Import nicht fortgesetzt werden.
- Stellt man den DB-Layer vor dem Export um auf "Schreibzugriff" und "Schema Sync", kann das Projekt zwar wieder importiert werden, jedoch wird hierbei für den DB-Layer ein neues Schema in der Datenbank erzeugt. Damit ist die Verknüpfung mit dem ursprünglichen DB-Schema verloren und der neue Slave kann nicht auf die über das Master-Projekt gepflegten Daten zugreifen.
Meine erste Idee für einen Workaround war nun, vor dem Export des Blueprints die Templates und Datenquellen für den globalen Layer zu löschen und diese nach dem Import über die Paketverwaltung wieder herzustellen. Da es jedoch zahlreiche Abhängigkeiten auf die DB-Templates gibt, liefe das darauf hinaus, nahezu alle Templates vor dem Export zu löschen. Dies zieht dann einen "Rattenschwanz" an manuellen Tätigkeiten nach sich, die für jedes importierte Projekt einzeln durchgeführt werden müssen. Genau dies möchte ich gerne vermeiden.
Was ist hier die Best-Practice? Ich halte diesen Anwendungsfall für nicht allzu abwegig, und würde annehmen, dass er durch das System unterstützt wird.
Vielen Dank und viele Grüße,
Tilman Linden
Vous devez vous connecter pour laisser un commentaire.
Commentaires
0 commentaire