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üssel | Wert |
| Name | Christian |
Wichtiges Update bezüglich der Persistenzschicht
Bis 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.
Ab 6.5.151 und 7.0.44 wurde eine Konfigurationseinstellung eingeführt, die die Möglichkeit gab, die Standard-Simplifier-Datenbank als Backend für diese beiden Plugins zu verwenden.
Mit Simplifier 7 EHP 1 wurde 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 eine Sicherungskopie der beiden Datenbankdateien haben. Die zu sichernden Dateien sind:
${SIMPLIFIER_DATA_DIR}/plugins/jsonStore/jsonStore
${SIMPLIFIER_DATA_DIR}/plugins/keyValueStore/kvstore
In einer Standardkonfiguration mit unserer Docker-Compose-Datei ist ${SIMPLIFIER_DATA_DIR} /var/lib/simplifier/data.
Szenario 1: Standard-Setup
Befolgen Sie entweder Szenario 1 oder Szenario 2, niemals beide.
Dies ist das Standard-Setup, dem die meisten Leute folgen sollten.
Bevor Sie das Simplifier-Update durchführen: Datenbanken erstellen
Erstellen Sie zwei neue Datenbanken auf Ihrem Standard-Datenbankserver (dem, der derzeit für Ihre Simplifier-Datenbank verwendet wird).
Wenn Sie das empfohlene Docker-Compose-Setup einschließlich des MySQL-Datenbankserver-Container-Images verwenden:
Verbinden Sie sich über SSH mit dem Host
Sie benötigen die folgenden Informationen aus Ihrer .env-Datei:
- MySQL-Root-Benutzerpasswort: DB_ROOT_PASSWORD
- Datenbank-Basisname: 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 2, niemals beide.
Dieses Szenario ist relevant, wenn Sie die Einrichtung detaillierter steuern möchten.
Bevor Sie das Simplifier-Update durchführen: Datenbanken erstellen
Erstellen Sie zwei neue Datenbanken, eine für den Key-Value Store und eine für den JSON Store. Erstellen Sie bei Bedarf einen Benutzer oder gewähren Sie einem bestehenden Benutzer alle Zugriffsrechte auf diese 2 neuen Datenbanken.
Zum Beispiel, wenn Sie bereits einen DB-Benutzer namens 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
Gehen Sie zum Simplifier-Datenverzeichnis. Dann
cd conf
In diesem Verzeichnis müssen Sie zwei neue Dateien erstellen, eine für Key-Value Store und eine für 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, Passwort, 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 einen Oracle-Datenbankserver haben:
database {
dbms: "oracle"
user: "YourDatabaseUserName"
pass: "YourDatabasePassword"
host: "HostnameOfYourDatabaseServer"
port: 1527
database: "NameOfTheDatabaseCreatedBefore"
table_prefix: ""
}
Migrationsprozess
Der Migrationsprozess startet automatisch, wenn Sie die neue Simplifier-Version ausführen und die Einstellungen vorkonfiguriert wurden.











