Skip to main content

resolve upgrades

[Plomberie profonde] Détermine les mises à niveau à exécuter pour un jeu de données brut.

Qui peut utiliser cette fonctionnalité ?

CodeQL est disponible pour les types de référentiels suivants :

Ce contenu décrit la version la plus récente de CodeQL CLI. Pour plus d’informations sur cette version, consultez https://github.com/github/codeql-cli-binaries/releases.

Pour voir les détails des options disponibles pour cette commande dans une version antérieure, exécutez la commande avec l’option --help dans votre terminal.

Synopsis

Shell
codeql resolve upgrades --dbscheme=<file> <options>...

Description

[Plomberie profonde] Détermine les mises à niveau à exécuter pour un jeu de données brut.

Détermine les mises à niveau à effectuer sur un jeu de données QL brut en particulier pour l’amener à l’état des bibliothèques QL configurées. Ce calcul fait partie de ce qui se passe lors d’une mise à niveau de base de données ordinaire et est exposé en tant que commande de plomberie distincte afin (a) d’aider à résoudre les problèmes et (b) de fournir un point de départ pour modifier le chemin dans des cas extraordinaires où un contrôle précis est nécessaire.

Options

Options principales

--dbscheme=<file>

[Obligatoire] Schéma de base de données actuel du jeu de données que nous voulons mettre à niveau.

--format=<fmt>

Sélectionne le format de sortie. Les options sont les suivantes :

lines (par défaut)  : Affiche les scripts de mise à niveau sur une ligne chacun.

json : Affiche un tableau JSON de chemins de script de mise à niveau.

--just-check

N’affiche aucune sortie, mais quitte avec le code 0 s’il y a des mises à niveau à effectuer ou le code 1 s’il n’y en a pas.

Options de la ligne de commande de la commande appelante

--search-path=<dir>[:<dir>...]

Liste des répertoires dans lesquels des packs QL contenant des recettes de mise à niveau peuvent être trouvés. Chaque répertoire peut être un pack QL (ou un bundle de packs contenant un fichier .codeqlmanifest.json à la racine) ou le parent immédiat d’un ou plusieurs de ces répertoires.

Si le chemin contient des arborescences de répertoires, leur ordre définit la priorité entre elles : si un nom de pack qui doit être résolu est mis en correspondance dans plusieurs arborescences de répertoires, celle donnée en premier gagne.

Le pointage de ce chemin vers une extraction du dépôt CodeQL open source devrait fonctionner lors de l’interrogation d’un des langages qui y résident.

(Remarque : Sur Windows, le séparateur de chemin est ;.)

--additional-packs=<dir>[:<dir>...]

[Avancé] Si cette liste de répertoires est donnée, ils font l’objet d’une recherche de mises à niveau avant ceux indiqués dans --search-path. L’ordre entre eux n’a pas d’importance ; il s’agit d’une erreur si un nom de pack est trouvé dans deux répertoires différents de cette liste.

Cette option est utile si vous développez temporairement une nouvelle version d’un pack qui apparaît aussi dans le chemin par défaut. En revanche, il n’est pas recommandé de remplacer cette option dans un fichier de configuration ; certaines actions internes ajoutent cette option à la volée, remplaçant toute valeur configurée.

(Remarque : Sur Windows, le séparateur de chemin est ;.)

--target-dbscheme=<file>

Schéma de base de données cible vers lequel nous voulons effectuer la mise à niveau. S’il n’est pas fourni, un chemin de mise à niveau maximal est construit

--target-sha=<sha>

[Avancé] Alternative à --target-dbscheme qui donne le hachage interne du schéma de base de données cible au lieu du fichier du schéma de base de données.

--[no-]allow-downgrades

Inclut tous les passages à une version antérieure pertinents s’il n’y a aucune mise à niveau

Options courantes

-h, --help

Affiche ce texte d’aide.

-J=<opt>

[Avancé] Donne une option à l’environnement JVM exécutant la commande.

(Attention, les options contenant des espaces ne sont pas gérées correctement.)

-v, --verbose

Augmente de façon incrémentielle le nombre de messages de progression affichés.

-q, --quiet

Diminue de façon incrémentielle le nombre de messages de progression affichés.

--verbosity=<level>

[Avancé] Définit explicitement le niveau de détail sur errors, warnings, progress, progress+, progress++ ou progress+++. Remplace -v et -q.

--logdir=<dir>

[Avancé] Écrit des journaux détaillés dans un ou plusieurs fichiers du répertoire donné, avec des noms générés qui incluent des horodatages et le nom de la sous-commande en cours d’exécution.

(Pour écrire un fichier journal avec un nom sur lequel vous avez un contrôle total, donnez plutôt --log-to-stderr et redirigez stderr comme vous le souhaitez.)

--common-caches=<dir>

[Avancé] Contrôle l’emplacement des données en cache sur le disque qui persisteront entre plusieurs exécutions de l’interface CLI, telles que les packs QL téléchargés et les plans de requête compilés. S’il n’est pas défini explicitement, il s’agit par défaut d’un répertoire nommé .codeql dans le répertoire de base de l’utilisateur. S’il n’existe pas déjà, il est créé.

Disponible depuis v2.15.2.