Allgemein

Informationen

  • Unter Migration versteht man bei PLANTA Anpassungen an der Datenbank, die für das Aktualisieren des Systems auf eine höhere Version erforderlich sind. Das Migrationsverfahren basiert auf in Python geschriebenen Migrationspaketen und ist in PLANTA integriert.
  • Migrationspakete führen Änderungen an der vorhandenen PLANTA-Installation, vor allem der Datenbank, durch.
    • Um die Migration zu starten, muss der Server im Migrationsmodus (siehe den Abschnitt weiter unten) gestartet werden.
      • Der Server startet eine neue interne Session mit dem PLANTA-Benutzer MIGRATION. Daher haben alle neuen Datensätze bzw. Änderungen, die im Migrationsmodus an Customizing etc. durchgeführt/angelegt werden, den Änderungs-/Anlagebenutzer MIGRATION. Sie auch den Eintrag unter Achtung weiter unten.
    • Beim Starten der Migration werden alle Pflichtpakete automatisch ausgeführt. Alle weiteren Pakete müssen manuell ausgeführt werden. Hierzu siehe Hinweise im Abschnitt Migrationsmodus.

Achtung

  • Werden der Benutzer MIGRATION und die ihm zugeordnete Person gelöscht, werden sie beim nächsten Update automatisch neu angelegt.

Hinweise

  • Um die Performance zu verbessern, wird für MSSQL-Systeme empfohlen, vor der Migration zu dem Recovery-Modell RECOVERY SIMPLE zu wechseln: ALTER DATABASE <PLANTA_DB_USER> SET RECOVERY SIMPLE
    Nach erfolgter Migration sollte das Recovery-Modell wieder auf das ursprünglich eingestellte Modell zurückgesetzt werden. Dies ist das Standard-Modell der Datenbank.
  • Welche Migrationspakete mit dem gewünschten Server- oder Datenbank-Release ausgeliefert werden, wird in Release Notes angegeben.
  • Wenn es Probleme gibt in der Art, dass vorhandene Python-Module nicht geladen werden können (z.B. im Migrationsskript 'FillMigrationRuleTable'), kann dies durch manuelles Ausführen des Pakets CreateFolderPacket im Modul Release-übergreifende Pakete behoben werden.

Migrationsmodus

Informationen

  • Der Server besitzt einen neuen Modus für die Durchführung der Migration, den sogenannten Migrationsmodus.
    • Im Migrationsmodus werden die vorhandenen Migrationspakete, bei denen der Parameter Bei Systemstart = sowie Erledigt = sind, ausgeführt.
    • Während sich der Server im Migrationsmodus befindet, kann sich kein Client mit diesem Server verbinden.
    • Nach Durchführung der Migration beendet sich der Server automatisch.
  • Die Migration wird durch Aufruf von planta_migration.bat bzw. ./planta_migration.sh im Server-Installationsverzeichnis gestartet.
    • Der Parameter migrate wird fortan ignoriert.

Hinweise

Technischer Ablauf

Was geschieht, wenn der Server im Migrationsmodus gestartet wird

  1. Die Migrationsparameter müssen in einer Parameterdatei enthalten sein.
    • Die Parameterdatei sollte nur von erfahrenen Benutzern erstellt und angepasst werden.
    • Eine Beispielparameterdatei befindet sich unter config/migration/migration.par.
  2. Das Script planta_migration hat einen Pflicht-Parameter: -c / --migration-config.
    • Dieser Parameter muss der (vom Server-Verzeichnis relative) Pfad zur Migrationsparameterdatei sein.
    • Es dürfen keine Leerzeichen in diesem Pfad enthalten sein!
  3. Um die Migration zu starten, muss das Script planta_migration im Server-Verzeichnis der erstellten Parameterdatei ausgeführt werden: planta_migration -c "Name des Parameter-Files"
    • Migrationsverfahren sollte nur von erfahrenen Benutzern gestartet werden.
  4. Der Server startet eine neue interne Session mit dem PLANTA-Benutzer Migration.
    • Daher haben alle neuen Datensätze bzw. Änderungen, die im Migrationsmodus an Customizing etc. durchgeführt/angelegt werden, den Änderungs-/Anlagebenutzer Migration.
    • Bitte beachten Sie, dass aus diesem Grund der Benutzer Migration nicht gelöscht werden darf.
  5. Es wird nach neuen Migrationspaketen auf dem Dateisystem gesucht, diese werden ausgeführt und Informationen darüber in der Datenbank abgespeichert.
  6. Nachdem das Dateisystem durchsucht wurde, werden die Pakete ausgeführt.

Migrationsparameter

Informationen

  • Die für die Migration erforderlichen Parameter werden in einer Parameterdatei angegeben.
  • Aufbau der Parameterdatei:
--migration-components
	Server
	Customizing-Hotfix
	Customizing
	Customer
	Before DB Import
	After DB Import

--abort-on-failure
--packets-to-exclude
--delete-demo-data
--change-license
CODE
SektionErklärung
migration-componentsHier werden die Komponenten angegeben, die migriert werden sollen. Die "klassische" Migration mit Migrationspaketen startet nur wenn der Parameter migration-compnents gesetzt ist.
abort-on-failureIst diese Option vorhanden, wird die Migration abgebrochen, sobald ein Migrationspaket fehlschlägt.
packets-to-excludeHier kann pro Zeile der absolute pythonpfad zu einem Migrationspaket hinterlegt werden, welches bei der Migration nicht ausgeführt werden soll. Z.B.: migration.server.S_39_5_21.WI19001_add_uuid_columns_to_kdb.AddUUIDColumnsToKDB
delete-demo-data

Wird dieser Parameter in die Datei aufgenommen, werden die Demodaten aus dem System entfernt.

Achtung: Bei der "Demodaten-Bereinigung" wird kein Filter auf die Owner-Lizenz oder Ähnliches gesetzt, sondern es werden einfach alle Tabellen mit Projekt/Benutzer/etc. Daten geleert (nur  Benutzer P20 und MIGRATION verbleiben). Die Funktion muss am Anfang nach Aufsetzen eines Systems ausgeführt werden und kann nicht benutzt werden, um in einem System, welches bereits produktiv benutzt wurde, die Demodaten zu bereinigen!

change-license

Wenn angegeben, werden die Lizenzdatensätze im System geändert. 

  • Wenn keine Lizenz in der Parametdatei angegeben ist, wird die Lizenz aus der planta_server.conf genommen.
  • Nach dem Lizenzwechsel wird die Migration beendet und es werden keine Migrationspakete danach ausgeführt.


  • Die möglichen Komponenten stammen aus der __init__.py der jeweiligen Migrationsverzeichnisse
  • Die angegebenen Komponenten bestimmen den Update-Typ der Migration. So ist es z.B. möglich, nur das Customizing zu migrieren oder nur die Server-Komponente.
  • Die Parameterdatei gibt nicht nur die Komponenten vor, die migriert werden sollen, sondern auch die Reihenfolge, in der migriert wird.
  • Alle Pakete, die nicht unter die Liste der angegebenen Komponenten fallen, erhalten den Status Nicht relevant.

Achtung

  • In der Beispielparameterdatei unter config/migration/migration.par sind alle Komponenten aufgeführt, die theoretisch denkbar sind. Diese Komponenten müssen unbedingt vor der Migration an die tatsächlich vorliegenden Gegebenheiten angepasst und nicht relevante Komponenten entfernt werden.

Individualisierungsmöglichkeiten

Information