Befehlszeile¶
Die Anwendung lässt sich auch über die Befehlszeile steuern. Dazu muss die Befehlszeilen-App angesprochen werden. Dies erfolgt über den Aufruf:
/opt/alvine-platform/bin/alvine
Mittels --help
wird eine Hilfe mit allen Befehlen angezeigt.
Legacy-Befehle ausführen¶
Befehle (cmd) des Legacy-Backends lassen sich über das Argument legacy:run
aufrufen. Über die Optionen können
verschiedene Werte übergeben werden.
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--argument | -a | URL-Encoded Zeichenkette mit den an das System zu übergebenden Variablenwerten. | a=4&b=5 |
--cmd | -c | CMD des Alvine Backends | 5 |
--uid | -u | Die für den Befehl zu verwendende User-ID | 100 |
--debug | -d | Debugausgabe ausgeben |
/opt/alvine-platform/bin/alvine legacy:run --uid=1 --cmd=5 -d --argument="sxx_export=true&submit=true&sxx_cli_systemintern=true"
Dateiänderungen prüfen¶
Mit diesem Befehl lassen sich Änderungen im Dateisystem in regelmässigen Abständen prüfen. Beim ersten Durchlauf
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--path | -p | Das zu prüfende Verzeichnis | /srv/images/ |
--md5file | -m | Der Dateiname der MD5-Prüfdatei (die Datei sollte nicht im zu prüfenden Verzeichnis liegen | /srv/img.md5 |
--format | -f | Das Ausgabeformat (Unterstützt werden text (default), json und XML | xml |
--host | -h | Parameter für den Hostname für den Zugriff auf eine externe Ressource | sftp.example.com |
--user | -u | Parameter für den Benutzer für den Zugriff auf eine externe Ressource | sftpuser |
--login | -l | Parameter für den Password für den Zugriff auf eine externe Ressource | sftppassword |
/opt/alvine-platform/bin/alvine devop:changedfiles --path=/srv/www/images \
--md5file=/srv/www/images.md5 --format=json
Die Ausgabe ist im Fall von JSON sieht folgendermaßen aus:
{
"changed": [], // geänderte Dateien
"created": [], // neue Dateien
"removed": [], // entfernete Dateien
"files": [], // Alle geänderten, neuen und entfernten Dateien
"errors": [], // Fehler im Script
"totals": {
"created": 0, // Anzahl der neuen Dateien
"changed": 0, // Anzahl der geänderten Dateien
"removed": 0, // Anzahl der entferneten Dateien
"files": 0, // Anzahl aller geänderten Dateien
"total": 0 // Anzahl aller Dateien im Verzeichnis
}
}
Legacy-Scripte ausführen¶
Neben dem Standardmodus können über devop:run-script
auch Scripte im Legacy-Modus ausgeführt werden. Dieser Modus sollte allerdings nicht
mehr für neue Scripte verwendet werden. Über die Optionen können verschiedene Werte übergeben werden.
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--argument | -a | URL-Encoded Zeichenkette mit den an das System zu übergebenden Variablenwerten. | a=4&b=5 |
--legacy | -l | Use legacy Environment | 1 |
--uid | -u | Die für den Befehl zu verwendende User-ID | 100 |
--debug | -d | Debugausgabe ausgeben | |
--path | -p | Verzeichnis in dem das Script liegt, ansonsten das aktuelle Verzeichnis. | /Pfad/zum/Script |
--script | -s | Name des Scripts | testscript.php |
/opt/alvine-platform/bin/alvine devop:run-script --legacy=1 \
--uid=1 -d --path=/Pfad/zum/Script -s=testscript.php
Die einzubindenden Scriptdatei wird im Kontext einer Funktion aufgerufen. In dieser Funktion kann zum Beispiel über
Assembly::getInstance()
auf die Anwendung und darüber auf die Datenbankverbindung zugegriffen werden.
UML-Diagramm erstellen¶
Mit diesem Befehl dev:createuml
können für Klassen UML-Diagramme im plantUML Format erzeugt werden.
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--class | -c | Name der Klasse inklusive Namespace | /A/B/C |
--output | -o | Ausgabe des Ergebnisses in eine Datei und nicht auf die Konsole | c:\temp\a.puml |
Phars herunterladen¶
Mit dem Befehl dev:downloadphars
werden die aktuell in der assembly.ini definierten Phars heruntergeladen.
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--output | -o | Verzeichnis in das die Phars gespeichert werden sollen. | c:\temp |
--verbose | -v | Namen der Phar-Archive ausgeben |
Wird kein Pfad angegeben, so werden die Dateien in das in der Konfiguration definierte Vendor-Verzeichnis geschrieben.
Webkomponenten erstellen¶
Vorlagen für neue Webkomponenten zur Darstellung in der Benutzerschnittstellen lassen sich über dev:createwebcomponent
erstellen.
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--namespace | Namensraum | a.b.c | |
--version | -v | Version | 1.0.0 |
--name | -n | Name der Komponente | myComponent |
Klassen erstellen¶
Neue Klassen können über das Argument dev:createclass
erstellt, bzw aktualisiert werden.
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--class | -c | Name der Klasse inklusive Namespace | /A/B/C |
--type | -t | Typ der Klasse (model) | model |
Weitere Konfigurationsoptionen hängen vom Typ ab.
Modelklassen (Typ model)¶
Argument | Kurzform | Beschreibung | Beispiel |
---|---|---|---|
--table | Name der Tabelle, die das Model repräsentiert | co_user | |
--exclude | -e | Felder, die nicht in die Objektmap übernommen werden sollen | sys_erpID |
--use | -u | Zu verwendende Traits (erp, archived, ranking) | archive |
Delta SQL Statements erstellen¶
Ein Delta Statement kann über das Argument dev:createdeltasql
erstellt, bzw aktualisiert werden.
Argument | Kurzform | Pflicht | Beschreibung | Beispiel |
---|---|---|---|---|
--name | -n | ja | Name der Tabelle | sh_order |
--id | -i | ja | ID der Tabelle | 7 |
--output | -o | ja | Ausgabe des Statements (print, file, database) | |
--file | -f | nein | Ausgabe in einer Datei | |
-p | nein | Ausgabe in der Console | ||
--database | -d | nein | Ausgabe in der Datenbank | |
--primarykey | -k | nein | Primary Key der Tabelle wird automatisch ermittelt | OID |
--exclude | -e | nein | Felder, die nicht für den MD5 verwendet werden sollen | sys_erpLastUpdate |
--dateto | nein | Feld für Gültig ab | date_from | |
--datefrom | nein | Feld für Gültig bis | date_to |
/opt/alvine-platform/bin/alvine createdeltasql --name=sh_order -i 7 -o print -e sys_erpLastUpdate -e sys_erpCreation
id¶
Die ID muss in der Delta Route definiert und hier übergeben werden. Der Nummernraum der IDs ist im Standard ab der ID '1' und Benutzerdefinierte IDs ab der ID '1000'
Beipsiel : Hier wurde die ID 1 für die Items vergeben.
<configuration>
<urls>
<url name="item" id="1" ><![CDATA[/api/commerce/item/search?q=item.iid%20IN%20%22${idlist}%22]]></url>
</urls>
</configuration>
exclude¶
Die Felder, die nicht für den MD5 verwendet werden sollen zum Beispiel:-e sys_erpLastUpdate -e sys_erpCreation
output¶
Die Ausgabe kann kommagetrennt -o print, file
oder einzeln -o print -o file
oder mit --print -- file
übergeben werden
print¶
Bei der Ausgabe print
werden die Statements direkt in der Console ausgegeben und können kopiert werden.
file¶
Bei der Ausgabe file
werden die Statements in eine sql Datei geschrieben \deployment\database\trigger_[Name der Tabelle].sql
database¶
Bei der Ausgabe database
werden die Statements in der Datenbank ausgeführt.
datefrom / dateto¶
Datensätze die eine Gültigkeit haben , die evtl. in der Zukunft erst gültig werden oder die Gültigkeit verlieren. Müssen zu den Entsprechenden Zeitpunkten wieder getriggert werden damit das Delta erkannt wird. Hierzu wird der Trigger erweitert mit einem Insert in die ´co_delta_schedule_event´ Tabelle.