Zum Hauptinhalt springen

Commands

Informationen über die verfügbaren Befehle.

Datenbank installieren

Befehlsname: ch23:app:install

Beschreibung: Installiert die Datenbank für Clubhouse23

Verwendung:

php bin/console ch23:app:install

Funktionalität:

  • Prüft Anforderungen mit dem Befehl ch23:app:checkrequirements
  • Löscht die bestehende Datenbank
  • Erstellt eine neue Datenbank
  • Führt SQL-DDL-Skripte aus dem Verzeichnis db/ddl aus
  • Führt SQL-DML-Skripte aus dem Verzeichnis db/dump/initialload aus

Rückgabewerte:

  • Gibt Command::SUCCESS (0) zurück, wenn die Installation erfolgreich ist
  • Gibt Command::FAILURE (1) zurück, wenn die Installation fehlschlägt

Cronjobs installieren

Befehlsname: ch23:app:cronjobs

Beschreibung: Installiert die notwendigen Cronjobs-Einträge

Verwendung:

php bin/console ch23:app:cronjobs

Funktionalität:

  • Dieser Befehl erstellt alle notwendigen Cronjob-Einträge. Muss nach ch23:app:install gestartet werden.

Rückgabewerte:

  • Gibt Command::SUCCESS (0) zurück, wenn die Installation erfolgreich ist
  • Gibt Command::FAILURE (1) zurück, wenn die Installation fehlschlägt

Projektanforderungen prüfen

Befehlsname: ch23:app:checkrequirements

Beschreibung: Prüft die Clubhouse23 Projektanforderungen

Verwendung:

php bin/console ch23:app:checkrequirements [--subcmd]

Optionen:

  • --subcmd: Zeigt an, dass der Befehl von einem anderen Befehl aufgerufen wird

Funktionalität:

  • Prüft die Projektanforderungen für Clubhouse23
  • Wird von ch23:app:install als Voraussetzungsprüfung verwendet

Rückgabewerte:

  • Gibt Command::SUCCESS (0) zurück, wenn keine Fehler gefunden werden
  • Gibt Command::FAILURE (1) zurück, wenn Fehler gefunden werden

SQL-Befehl ausführen

Befehlsname: ch23:db:execute

Beschreibung: Führt einen SQL-Befehl aus ohne Rückgabewert

Verwendung:

php bin/console ch23:db:execute <sqlcommand> [--subcmd]

Argumente:

  • sqlcommand (erforderlich): Der auszuführende SQL-Befehl

Optionen:

  • --subcmd: Zeigt an, dass der Befehl von einem anderen Befehl aufgerufen wird

Funktionalität:

  • Führt den angegebenen SQL-Befehl mit der Doctrine DBAL-Verbindung aus
  • Wird von ch23:app:install verwendet, um SQL-Skripte während der Installation auszuführen

Rückgabewerte:

  • Gibt Command::SUCCESS (0) zurück, wenn der SQL-Befehl erfolgreich ausgeführt wird
  • Gibt Command::FAILURE (1) zurück, wenn der SQL-Befehl nicht ausgeführt werden kann

DB-Tabelle löschen (und archivieren)

Befehlsname: ch23:db:clean

Beschreibung: Löscht Einträge aus einer DB-Tabelle

Verwendung:

php bin/console ch23:db:clean <tablename> <retain> <fieldname> [<backuptablename>] [--backup]

Argumente:

  • tablename (erforderlich): Der Name der Datenbanktabelle
  • retain (erforderlich): Anzahl der Einträge, die in der Tabelle behalten werden sollen
  • fieldname (erforderlich): Das Tabellenfeld, nach dem sortiert werden soll, um das Ergebnisset auszuwählen
  • backuptablename (optional): Der Name der Backup-Tabelle (für die Option --backup)

Optionen:

  • --backup: Ob die gelöschten Einträge gespeichert werden sollen

Funktionalität:

  • Löscht Einträge aus einer Datenbanktabelle, während eine bestimmte Anzahl der neuesten Einträge (sortiert nach einem bestimmten Feld) beibehalten wird
  • Kann optional die gelöschten Einträge in einer anderen Tabelle sichern

Beispiele:

# Löscht Einträge aus 'tabelle1', behält die 100 neuesten Einträge (sortiert nach 'created_at')
php bin/console ch23:db:clean tabelle1 100 created_at

# Löscht Einträge aus 'tabelle1', behält die 100 neuesten Einträge und sichert gelöschte Einträge in 'tabelle1_backup_123'
php bin/console ch23:db:clean tabelle1 100 created_at tabelle1_backup_123 --backup

Rückgabewerte:

  • Gibt die Anzahl der gelöschten Zeilen zurück

API-Passwort Hasher

Befehlsname: ch23:app:hashcontactpwd

Beschreibung: Hasht die API-Passwörter der Kontakte

Verwendung:

php bin/console ch23:app:hashcontactpwd

Funktionalität:

  • Hasht ungehashte API-Passwörter für Kontakte mit dem ContactService
  • Verwendet das UserPasswordHasherInterface zum Hashen der Passwörter

Rückgabewerte:

  • Gibt Command::SUCCESS (0) zurück, wenn das Hashen erfolgreich ist
  • Gibt Command::FAILURE (1) zurück, wenn das Hashen fehlschlägt

Statistikdaten speichern

Befehlsname: ch23:app:logmobileuserupdate

Beschreibung: Daten aus der Tabelle log_api in komprimierter Form in die Tabelle log_mobile_user kopieren

Verwendung:

php bin/console ch23:app:logmobileuserupdate

Funktionalität:

  • Einträge aus der Tabelle log_api in komprimierter Form (1 Eintrag pro Tag und MobileUser) in die Tabelle log_mobile_user schreiben, falls noch nicht vorhanden.
  • Bereits kopierte Daten werden nicht erneut kopiert. Der Konsolenbefehl berücksichtigt das automatisch.
  • Idealerweise läuft dieser Command täglich nach Mitternacht

Beispiel Cron-Eintrag, läuft täglich um 00:30

30 0 * * * * php /Users/andy/www/clubhouse23/bin/console ch23:app:logmobileuserupdate > /Users/andy/www/clubhouse23/var/logmobileuserupdate.log 2> /Users/andy/www/clubhouse23/var/logmobileuserupdate.err

Rückgabewerte:

  • Gibt Command::SUCCESS (0) zurück, wenn das Hashen erfolgreich ist
  • Gibt Command::FAILURE (1) zurück, wenn das Hashen fehlschlägt