Was sind KeyValueStore / JSONStore Plugins?
Das KeyValue Store Plugin ist eine einfache Möglichkeit, eine bestimmte Datenstruktur mit einer eindeutigen Kennung = Schlüssel und Wert zu speichern. Zum Beispiel
Schlüsselwert | |
Name | Christian |
Wichtiges Update bezüglich Persistence Layer
Bis zum Simplifier 7.0 verwenden die Plugins JSONStore und KeyValueStore standardmäßig MapDB als Speicher-Backend.
MapDB schreibt alle Einträge in eine große Datei.
Beginnend mit 6.5.151 und 7.0.44 wurde eine Konfigurationseinstellung eingeführt, die die Möglichkeit bot, die Standard-Simplifier-Datenbank als Backend für diese Plugins zu verwenden.
Mit Simplifier 7 EHP 1 wird diese Einstellung entfernt und die Standarddatenbank ist das einzige unterstützte Backend für JSONStore- und KeyValueStore-Plugins.
Sichern Sie Ihre Datenbankdateien
Bevor Sie mit der Migration beginnen, stellen Sie sicher, dass Sie über eine Sicherung der beiden Datenbankdateien verfügen.
Die zu sichernden Dateien sind:
${SIMPLIFIER_DATA_DIR}/plugins/jsonStore/jsonStore ${SIMPLIFIER_DATA_DIR}/plugins/keyValueStore/kvstore
In einem Standard-Setup mit unserer Docker-Compose-Datei ist ${SIMPLIFIER_DATA_DIR} /var/lib/simplifier/data.
Szenario 1: Standard-Setup
Befolgen Sie entweder Szenario 1 oder Szenario, niemals beides.
Dies ist das Standard-Setup, dem die meisten Menschen folgen sollten.
Vor dem Update der Vereinfachung: Erstellen von Datenbanken
Erstellen Sie zwei neue Datenbanken auf Ihrem Standard-Datenbankserver (der derzeit für Ihre Simplifier-Datenbank verwendet wird). Wenn Sie das empfohlene Docker-Compose-Setup einschließlich des MySQL Database Server Container-Images verwenden: Verbinden Sie sich per SSH mit dem Host Sie benötigen die folgenden Informationen aus Ihrer .env-Datei:
- Passwort des MySQL-Root-Benutzers: DB_ROOT_PASSWORD
- Name der Datenbankbasis: DB_NAME
Verbinden Sie sich mit Ihrem MySQL-Server
docker exec -it mysql /bin/sh mysql -u root -p
Führen Sie in der MySQL-Konsole die folgenden Befehle aus.
Ersetzen Sie ${DB_NAME} durch den Wert von DB_NAME aus der .env-Datei.
CREATE DATABASE ${DB_NAME}_keyvalue; GRANT ALL PRIVILEGES ON `${DB_NAME}_keyvalue`.* TO `simplifier`@`%`; CREATE DATABASE ${DB_NAME}_jsonstore; GRANT ALL PRIVILEGES ON `${DB_NAME}_jsonstore`.* TO `simplifier`@`%`; FLUSH PRIVILEGES;
Szenario 2: Individuelle Einrichtung
Befolgen Sie entweder Szenario 1 oder Szenario, niemals beides.
Dieses Szenario ist relevant, wenn Sie die Einrichtung detaillierter steuern möchten.
Vor dem Update der Vereinfachung: Erstellen von Datenbanken
Erstellen Sie zwei neue Datenbanken, eine für den Schlüssel-Wert-Speicher und eine für den JSON-Speicher.
Legen Sie ggf. einen Benutzer an oder erteilen Sie einem bestehenden Benutzer alle Zugriffsrechte auf diese 2 neuen Datenbanken.
Wenn Sie z. B. bereits einen DB-Benutzer mit dem Namen sf_db_user haben und einen MySQL-Datenbankserver verwenden:
CREATE DATABASE simplifier_keyvalue; GRANT ALL PRIVILEGES ON `simplifier_keyvalue`.* TO `sf_db_user`@`%`; CREATE DATABASE simplifier_jsonstore; GRANT ALL PRIVILEGES ON `simplifier_jsonstore`.* TO `sf_db_user`@`%`; FLUSH PRIVILEGES;
Konfiguration erstellen
Wechseln Sie zum Datenverzeichnis Simplifier.
Dann
cd conf
In diesem Verzeichnis müssen Sie zwei neue Dateien erstellen, eine für den Key-Value-Store und eine für das JSON Store-Plugin.
Verwenden Sie Ihren bevorzugten Editor, z. B. nano.
Diese Dateien müssen genau so benannt werden.
nano jsonStore_include.conf nano keyValueStorePlugin_include.conf
Schreiben Sie in diese Datei den folgenden Inhalt, wenn Sie einen MySQL-Server haben.
Ersetzen Sie die entsprechenden Werte für Benutzer, Kennwort, Datenbankhost und Datenbankname.
Der Inhalt für beide Plugins ist ähnlich, schreiben Sie einfach den entsprechenden Datenbanknamen.
database { dbms: "mysql" user: "YourDatabaseUserName" pass: "YourDatabasePassword" host: "HostnameOfYourDatabaseServer" port: 3306 database: "NameOfTheDatabaseCreatedBefore" table_prefix: "" }
Wenn Sie über einen Oracle-Datenbankserver verfügen:
database { dbms: "oracle" user: "YourDatabaseUserName" pass: "YourDatabasePassword" host: "HostnameOfYourDatabaseServer" port: 1527 database: "NameOfTheDatabaseCreatedBefore" table_prefix: "" }
Ablauf der Migration
Der Migrationsprozess wird automatisch gestartet, wenn Sie die neue Simplifier-Version ausführen und die Einstellungen vorkonfiguriert wurden.