{"meta":{"title":"Ausführen von Upgrades","intro":"[Plumbing] Führt Upgradeskripts für ein vorhandenes unformatiertes QL-Dataset aus.","product":"Sicherheit und Codequalität","breadcrumbs":[{"href":"/de/code-security","title":"Sicherheit und Codequalität"},{"href":"/de/code-security/reference","title":"Reference"},{"href":"/de/code-security/reference/code-scanning","title":"Codeüberprüfung"},{"href":"/de/code-security/reference/code-scanning/codeql","title":"CodeQL"},{"href":"/de/code-security/reference/code-scanning/codeql/codeql-cli-manual","title":"CodeQL CLI-Leitfaden"},{"href":"/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/execute-upgrades","title":"Ausführen von Upgrades"}],"documentType":"article"},"body":"# Ausführen von Upgrades\n\n\\[Plumbing] Führt Upgradeskripts für ein vorhandenes unformatiertes QL-Dataset aus.\n\n> \\[!NOTE]\n> In diesem Inhalt wird die neueste Version von CodeQL CLI beschrieben. Weitere Informationen zu diesem Thema findest du unter <https://github.com/github/codeql-cli-binaries/releases>.\n>\n> Um Details zu den Optionen anzuzeigen, die für diesen Befehl in früheren Releases verfügbar sind, führe den Befehl mit der Option <span style=\"white-space: nowrap;\">`--help`</span> im Terminal aus.\n\n## Zusammenfassung\n\n```shell copy\ncodeql execute upgrades [--threads=<num>] <options>... -- <dataset> <script>...\n```\n\n## Description\n\n```\n          \\[Plumbing] Upgrade-Skripte für ein bestehendes Raw QL Dataset ausführen.\n```\n\nDieser Befehl führt eine bestimmte Sequenz von Upgradeskripts für das Dataset aus. Es liegt in der Verantwortung der Aufrufer\\*innen, dass das „alte“ Datenbankschema jedes Upgradeskripts mit dem „neuen“ Datenbankschema des vorherigen Skripts (oder, für das erste Skript, dem aktuellen Datenbankschema des Datasets) übereinstimmt. Andernfalls wird ein Fehler ausgelöst.\n\n## Options\n\n### Primäre Optionen\n\n#### `<dataset>`\n\n```\n          \\[Erforderlich] Pfad zu dem Raw-QL Dataset, das aktualisiert werden soll.\n```\n\n#### `<script>...`\n\n```\n          \\[Erforderlich] Pfade zu den auszuführenden Upgrade-Skripten. (Jedes Upgradeskript ist ein Verzeichnis mit mehreren Dateien, die einen Upgradevorgang definieren.) Sie müssen in der Reihenfolge angegeben werden, in der sie anzuwenden sind.\n```\n\n#### `--search-path=<dir>[:<dir>...]`\n\nEine Liste der Verzeichnisse, in denen QL-Pakete gefunden werden können. Jedes Verzeichnis kann entweder ein QL-Paket (oder ein Bündel von Paketen mit einer Datei vom Typ `.codeqlmanifest.json` am Stamm) oder das unmittelbar übergeordnete Element eines oder mehrerer solcher Verzeichnisse sein.\n\nWenn der Pfad mehrere Verzeichnisse enthält, definiert deren Reihenfolge ihre Rangfolge: Ist ein Paketname, der aufgelöst werden muss, in mehreren der Verzeichnisstrukturen enthalten, wird die erste Angabe verwendet.\n\nEin entsprechender Verweis beim Auschecken des Open-Source-CodeQL-Repositorys sollte funktionieren, wenn eine der darin enthaltenen Sprachen abgefragt wird.\n\nWenn du das CodeQL-Repository als gleichgeordnetes Element der entpackten CodeQL-Toolkette ausgecheckt hast, musst du diese Option nicht verwenden. Solche gleichgeordneten Verzeichnisse werden immer nach QL-Paketen durchsucht, die andernfalls nicht gefunden werden können. (Wenn diese Standardeinstellung nicht funktioniert, solltest du unbedingt `--search-path` in einer Benutzerkonfigurationsdatei festlegen.)\n\n(Hinweis: Unter Windows wird `;` als Pfadtrennzeichen verwendet.)\n\n#### `--additional-packs=<dir>[:<dir>...]`\n\nBei Angabe dieser Verzeichnisliste werden die Verzeichnisse vor den Verzeichnissen in `--search-path` nach Paketen durchsucht. Die Reihenfolge zwischen diesen Elementen spielt keine Rolle. Wenn ein Paketname über diese Liste an zwei verschiedenen Stellen gefunden wird, handelt es sich um einen Fehler.\n\nDies ist hilfreich, wenn du vorübergehend eine neue Version eines Pakets entwickelst, die auch am Standardpfad vorhanden ist. Andererseits wird davon *abgeraten*, diese Option in einer Konfigurationsdatei außer Kraft zu setzen. Einige interne Aktionen fügen diese Option direkt hinzu, wodurch alle konfigurierten Werte überschrieben werden.\n\n(Hinweis: Unter Windows wird `;` als Pfadtrennzeichen verwendet.)\n\n### Optionen zum Steuern der Auswertung von Upgradeabfragen\n\n#### `--[no-]tuple-counting`\n\n```\n          \\[Erweitert] Anzeige der Tupelzahlen für jeden Evaluierungsschritt in den Abfrage-Evaluierungsprotokollen. Bei Angabe der Option `--evaluator-log` wird die Tupelanzahl sowohl in die textbasierten als auch in die strukturierten JSON-Protokolle eingeschlossen, die durch den Befehl erstellt werden. (Dies kann bei der Optimierung der Leistung von komplexem QL-Code hilfreich sein.)\n```\n\n#### `--timeout=<seconds>`\n\n```\n          \\[Erweitert] Die Timeout-Länge für die Evaluierung von Abfragen in Sekunden festlegen.\n```\n\nDas Timeoutfeature ist für Fälle vorgesehen, in denen die Auswertung einer komplexen Abfrage zu lange dauern würde. Es ist keine effektive Methode zur Begrenzung der Gesamtdauer der Abfrageauswertung. Die Auswertung kann fortgesetzt werden, solange jeder Teil der Berechnung, für den eine separate Zeiterfassung erfolgt, innerhalb des Timeouts abgeschlossen wird. Derzeit sind diese Teile mit separater Zeiterfassung „RA-Ebenen“ der optimierten Abfrage. Dies kann sich aber noch ändern.\n\nOhne Timeoutangabe oder bei Angabe eines Nullwerts wird kein Timeout festgelegt. (Einzige Ausnahme ist [codeql test run](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-run): Hier gilt ein Standardtimeout von fünf Minuten.)\n\n#### `-j, --threads=<num>`\n\nDient zum Festlegen, wie viele Threads für die Abfrageauswertung verwendet werden sollen.\n\nDer Standardwert lautet 1. Du kannst 0 übergeben, um jeweils einen Thread pro Kern auf dem Computer zu verwenden, oder -*N*, um *N* Kerne ungenutzt zu lassen. (Es wird allerdings immer noch mindestens ein Thread verwendet.)\n\n#### `--[no-]save-cache`\n\n```\n          \\[Abgeschafft] \\[Erweitert] Dieses Flag hat keine Funktion.\n```\n\n#### `--[no-]expect-discarded-cache`\n\n```\n          \\[Erweitert] Entscheide, welche Prädikate evaluiert und was in den Datenträger-Cache geschrieben werden soll, unter der Annahme, dass der Cache nach der Ausführung der Abfragen verworfen wird.\n```\n\n#### `--[no-]keep-full-cache`\n\n```\n          \\[Erweitert] Lösche den Datenträger-Cache nicht, nachdem die Evaluierung abgeschlossen ist.\n```\n\nDas kann Zeit sparen, wenn du später ohnehin [codeql dataset cleanup](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-cleanup) oder [codeql database cleanup](/de/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-cleanup) verwendest.\n\n#### `--max-disk-cache=<MB>`\n\nDient zum Festlegen des maximalen Speicherplatzes, der vom Datenträgercache für Zwischenergebnisse von Abfragen beansprucht werden darf.\n\nWird diese Größe nicht explizit konfiguriert, versucht der Auswerter, basierend auf der Größe des Datasets und der Komplexität der Abfragen eine angemessene Menge an Cachespeicherplatz zu verwenden. Durch explizites Festlegen eines höheren Grenzwerts (im Vergleich zur Standardnutzung) können mehr Daten zwischengespeichert werden, was spätere Abfragen beschleunigen kann.\n\n#### `--min-disk-free=<MB>`\n\n```\n          \\[Erweitert] Zielmenge für freien Speicherplatz im Dateisystem festlegen.\n```\n\nOhne Angabe von `--max-disk-cache` versucht der Auswerter nach Möglichkeit, die Nutzung des Datenträgercaches einzuschränken, wenn der freie Speicherplatz im Dateisystem diesen Wert unterschreitet.\n\n#### `--min-disk-free-pct=<pct>`\n\n```\n          \\[Erweitert] Zielanteil des freigegebenen Speicherplatzes im Dateisystem festlegen.\n```\n\nOhne Angabe von `--max-disk-cache` versucht der Auswerter nach Möglichkeit, die Nutzung des Datenträgercaches einzuschränken, wenn der freie Speicherplatz im Dateisystem diesen Prozentsatz unterschreitet.\n\n#### `--external=<pred>=<file.csv>`\n\nEine CSV-Datei, die Zeilen für das externe Prädikat *\\<pred>* enthält.\nFür `--external` können mehrere Optionen angegeben werden.\n\n#### `--xterm-progress=<mode>`\n\n```\n          \\[Erweitert] Steuert, ob die Fortschrittsverfolgung während der LQ-Evaluierung mit xterm-Steuersequenzen angezeigt werden soll. Mögliche Werte:\n\n          `no`: Niemals eine Fortschrittsanzeige erzeugen; gehe von einem stummen Terminal aus.\n\n          `auto`\n          _(Standard)_: Automatische Erkennung, ob der Befehl in einem geeigneten Terminal ausgeführt wird.\n\n          `yes`: Gehe davon aus, dass das Terminal die Steuersequenzen von xterm verstehen kann. Das Feature hängt weiterhin davon ab, dass die _Größe_ des Terminals (unter Windows nicht implementiert) automatisch ermittelt werden kann. Es wird ebenfalls deaktiviert, wenn `-q` angegeben wird.\n\n          `25x80` (oder ähnlich): Wie `yes`, und zusätzlich die Größe des Terminals explizit angeben. (Im Gegensatz zu `yes` sollte das unter Windows funktionieren.)\n\n          `25x80:/dev/pts/17` (oder ähnlich): zeige einen schicken Fortschritt auf einem _anderen_ Terminal als stderr. In erste Linie für interne Tests nützlich.\n```\n\n### Optionen zum Steuern der Ausgabe strukturierter Auswertungsprotokolle\n\n#### `--evaluator-log=<file>`\n\n```\n          \\[Erweitert] Strukturierte Protokolle über die Leistung der Evaluierung in die angegebene Datei ausgeben. Das Format dieser Protokolldatei kann ohne vorherige Ankündigung geändert werden. Es handelt sich jedoch um einen Datenstrom von JSON-Objekten, die entweder durch zwei Neue-Zeile-Zeichen (standardmäßig) getrennt werden – oder durch ein einzelnes, wenn die Option `--evaluator-log-minify` übergeben wird. Verwende `codeql generate log-summary <file>`, um eine stabilere Zusammenfassung dieser Datei zu erstellen, und vermeide eine direkte Analyse der Datei. Die Datei wird überschrieben, wenn sie bereits vorhanden ist.\n```\n\n#### `--evaluator-log-minify`\n\n```\n          \\[Erweitert] Wenn die Option `--evaluator-log` übergeben wird, wird durch die Übergabe dieser Option die Größe des erzeugten JSON-Protokolls minimiert, allerdings auf Kosten der Lesbarkeit.\n```\n\n### Optionen zum Konfigurieren des CodeQL-Paket-Managers\n\n#### `--registries-auth-stdin`\n\nFührt eine Authentifizierung bei GitHub Enterprise Server-Containerregistrierungen durch, indem eine durch Trennzeichen getrennte Liste von \\<registry\\_url>=\\<token>-Paaren übergeben wird.\n\nDu kannst `https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2` übergeben,\num dich bei zwei GitHub Enterprise Server-Instanzen zu authentifizieren.\n\nDadurch werden die Umgebungsvariablen CODEQL\\_REGISTRIES\\_AUTH und GITHUB\\_TOKEN überschrieben. Wenn du dich nur bei der Containerregistrierung von github.com authentifizieren musst, kannst du dich stattdessen mit der einfacheren Option `--github-auth-stdin` authentifizieren.\n\n#### `--github-auth-stdin`\n\nAuthentifiziere dich bei der Containerregistrierung auf github.com, indem du auf github.com ein GitHub Apps-Token oder ein persönliches Zugriffstoken über die Standardeingabe übergibst.\n\nFür die Authentifizierung bei Containerregistrierungen in GitHub Enterprise Server übergibst du `--registries-auth-stdin` oder verwendest die Umgebungsvariable „CODEQL\\_REGISTRIES\\_AUTH“.\n\nDadurch wird die GITHUB\\_TOKEN-Umgebungsvariable überschrieben.\n\n### Allgemeine Optionen\n\n#### `-h, --help`\n\nZeigt diesen Hilfetext an.\n\n#### `-J=<opt>`\n\n```\n          \\[Erweitert] Gib der JVM, die den Befehl ausführt, eine Option.\n```\n\n(Beachte, dass Optionen, die Leerzeichen enthalten, nicht ordnungsgemäß verarbeitet werden.)\n\n#### `-v, --verbose`\n\nErmöglicht die inkrementelle Erhöhung der Anzahl ausgegebener Statusmeldungen.\n\n#### `-q, --quiet`\n\nErmöglicht die inkrementelle Verringerung der Anzahl ausgegebener Statusmeldungen.\n\n#### `--verbosity=<level>`\n\n```\n          \\[Erweitert] Lege die Ausführlichkeitsstufe explizit auf einen der Werte Fehler, Warnungen, Fortschritt, Fortschritt+, Fortschritt++, Fortschritt+++ fest. Überschreibt `-v` und `-q`:\n```\n\n#### `--logdir=<dir>`\n\n```\n          \\[Erweitert] Detaillierte Protokolle in eine oder mehrere Dateien im angegebenen Verzeichnis schreiben, mit generierten Namen, die Zeitstempel und den Namen des ausgeführten Unterbefehls enthalten.\n```\n\n(Um eine Protokolldatei mit einem Namen zu schreiben, über den du die volle Kontrolle hast, gib stattdessen `--log-to-stderr` an, und leite stderr wie gewünscht um.)\n\n#### `--common-caches=<dir>`\n\n```\n          \\[Erweitert] Steuert den Zwischenspeicherort von Datenträgern wie z. B. heruntergeladene LQ-Pakete und kompilierte Abfragepläne, die zwischen mehreren Ausführen des CLI erhalten bleiben sollen. Wenn dies nicht explizit festgelegt ist, wird dieses Verzeichnis standardmäßig auf ein Verzeichnis mit dem Namen `.codeql` festgelegt, das sich im Startverzeichnis des Benutzer. Es wird erstellt, wenn es noch nicht vorhanden ist.\n```\n\nVerfügbar seit `v2.15.2`."}