Testsystem mit zwei Datenbanken

In der Einrichtungsphase empfiehlt es sich ein zweites System zum Testen von Einstellungen / Workflows etc. zu betreiben, damit man die Datenbank des Livesystems nicht mit unnötigen Testdaten befüllt, die man vor dem Go-Live nicht löschen kann. Ab Version 19.2 gibt es die Möglichkeit zwei Datenbanken für die selbe Xentral Installation zu verwenden. In der Login-Maske kann man dann auszuwählen, welche Datenbank angesteuert werden soll. Wichtiger Hinweis: Diese Datenbanken hängen nicht miteinander zusammen. Heißt alle Einstellungen, die Sie im Live-System tätigen, müssten Sie auch in der Testdatenbank nachtragen oder die Datenbank des Live-Systems nochmal frisch kopieren und neu hinterlegen als Test-Datenbank.

Datenbank des Live-Systems kopieren

Nach der Installation von Xentral können Sie die Datenbank kopieren. Im Folgenden wird der Kopier-Vorgang über PHPMyAdmin erklärt, wobei Sie auch andere Programme / die Kommandozeile dafür verwenden können. 1. Rufen Sie PHPMyAdmin auf PHPMyAdmin ist meistens vorinstalliert und kann über die Xentral URL + "/phpmyadmin" aufgerufen.
Also z.B. xentral.meinwebsite.com/phpmyadmin.
Dort loggen Sie sich dann mit dem Datenbank-Benutzer und Datenbank-Passwort ein. 2. Datenbank auswählen Klicken Sie die Datenbank in der Sidebar an, die kopiert werden soll. 3. Datenbank kopieren Gehen Sie oben auf "Operationen" und tragen Sie den Datenbanknamen so ein, wie die kopierte Datenbank heißen soll. :entwickler:multidb_phpmyadmin.png Mit einem Klick auf den "OK" Button wird die Datenbank kopiert. Das kann manchmal einige Minuten dauern.

Regelmäßig die Datenbank des Live-Systems kopieren

Wie kann ich regelmäßig und automatisch die Live-Datenbank in die Testdatenbank kopieren? Wenn Sie immer mit "aktuellen" Daten im Testsystem "arbeiten" möchten, bietet es sich an - die Daten 1:1 von der Live-Datenbank in die Testdatenbank zu kopieren. Es muss aber dringend drauf geachtet werden, das auf keinen Fall der Prozessstarter in der Testdatenbank aktiviert wird. Dieser wird automatisch deaktiviert nach dem Kopiervorgang der Datenbank, denn sonst könnte es sein das Shop-Aufträge, Emails, etc. in das Testsystem eingespielt werden. Für das kopieren der Datenbank wird am besten ein Cronjob eingerichtet der z.B. einmal Nachts kopiert. Wie Sie so ein Skript erstellen müssten, erfragen Sie am besten bei Ihrem IT Experten bzw. Serveradministrator.

Conf Datei bearbeiten

Ändern des Inhalts der Datei

Anschließend müssen Sie die Datei des "conf" Ordners (zu finden im Hauptordner der Xentral Installation) abändern. :entwickler:multidb_ordner.png Beim Öffnen der Datei geben Sie für die beiden Datenbanken die entsprechende Syntax an - nachfolgend an einem Beispiel erklärt: :entwickler:multidb_conf_code.png
<?php
  return [
     ['description'=>'Test DB','dbname'=>'xentral_test','cronjob'=>0,'dbhost'=>'xentral.ihrhosterserver.com','dbuser'=>'xentraluser','dbpass'=>'xentralpass'],['description'=>'Xentral Produktiv','dbname'=>'xentral_produktiv']
  ];
Wichtig ist hier die mittlere Zeile, die mit Ihren Daten angepasst werden muss.
Der Inhalt zwischen den eckigen Klammern dort steht jeweils für eine Datenbank - die eckigen Klammern werden getrennt von einem Komma.
Bei der Testdatenbank ist es wichtig auch noch die Datenbankverbindung (DB-User, DB-Passwort, DB-Host) sowie 'cronjob'=>0 anzugeben, damit der Cronjob in der Testdatenbank nicht läuft. Bei dem Eintrag für die Produktiv-Datenbank wird dies nicht benötigt - hier reicht description und dbname. Hintergrund weshalb bei der Testdatenbank der Cronjob deaktivert werden sollte ist, da sonst bestimmte Prozesse doppelt ausgeführt/ übertragen werden könnten. Bspw. Emails, Shop-Aufträge abholen/übertragen, Fulfillment Übertragung, Mahnwesen, usw. Daher ist es wichtig, den Prozessstarter für die Testdatenbank global zu deaktivieren.
Code Beschreibung
description Beschreibung für das Dropdown in der Login Maske
dbname Name der jeweiligen Datenbank
cronjob 0 für deaktiviert. Nur wichtig bei der Testdatenbank
dbhost Datenbank-URL für die Test-Datenbank
dbuser Datenbank-Benutzer für die Test-Datenbank
dbpass Datenbank-Passwort für die Test-Datenbank
Hinweis: Es können zusätzlich alle Daten, die Sie auch in der user.inc.php Datei finden, hinterlegt werden.

Ändern des Namens der Datei

Sobald der Inhalt angepasst wurde und gespeichert, können Sie die Datei von multidb.conf.php.tpl in multidb.conf.php unbenennen (also das .tpl am Schluss weglassen). :entwickler:multidb_file_umbenennen.png

Login Maske

Wenn alles richtig eingestellt ist, bekommen Sie bei der Login Maske ein weiteres Feld um die Datenbank auszuwählen. :entwickler:multidb_login.png Hinweis: Damit man das Testsystem immer unterscheiden kann, ist der Hintergrund vom Testsystem komplett rot eingestellt.

Drucker Anbindung bei mehreren Systemen

Wenn man mit mehreren Datenbanken arbeitet muss man für die Drucker mit CUPS arbeiten. ​ ​Einmal bei den Belegdruckern aber auch bei den Etikettendruckern. ​Man kann dann den Drucker per Kommandozeilenbefehlauswählen.​ ​Auch Etiketten kann man auf diese Art und Weise drucken. ​ ​Warum geht es nicht mit dem Xentral Spooler? Pro Mandant müsste einen Xentral Spooler laufen lassen und das ist keine gute Lösung. Das würde das System sehr verzögern. Mit CUPS hat man eine professionelle Lösung die dafür gemacht ist und auch mit vielen Druckaufträgen sehr gut zurecht kommt. ​

FAQs

War der Artikel hilfreich?
Vielen Dank für Ihr Feedback!

Made with ❤ at zwetschke.de