Skip to main content

アップグレードを解決する

[ディープ プラミング] 生データセットに対して実行するアップグレードを決定します。

この機能を使用できるユーザーについて

CodeQL は、次の種類のリポジトリで使用できます:

この記事の内容

このコンテンツでは、CodeQL CLI の最新リリースについて説明します。 このリリースについて詳しくは、 https://github.com/github/codeql-cli-binaries/releases をご覧ください。

以前のリリースの、このコマンドで使えるオプションを詳しく確認するには、ターミナルで --help オプションを指定してコマンドを実行してください。

構文

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

説明

[ディープ プラミング] 生データセットに対して実行するアップグレードを決定します。

特定の生の QL データセットを構成済みの QL ライブラリの状態にするために、どのアップグレードを実行する必要があるかを決定します。 この計算は、通常のデータベースのアップグレード中に行われる処理の一部であり、(a) トラブルシューティングに役立ち、(b) 正確な制御が必要な特別な場合にパスを変更するための開始点を提供するために、別のプラミング コマンドとして公開されています。

[オプション]

主なオプション

--dbscheme=<file>

[必須] アップグレードするデータセットの "現在" の dbscheme。__

--format=<fmt>

出力形式を選びます。 以下を選択できます。

lines "(既定値)": アップグレード スクリプトを 1 行ずつ出力します。__

json: アップグレード スクリプト パスの JSON 配列を出力します。

--just-check

出力はしませんが、やるべきアップグレードがある場合はコード 0 で終了し、ない場合はコード 1 で終了します。

呼び出しコマンドのコマンド ラインからのオプション

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

アップグレード レシピを含む QL パックが見つかる可能性があるディレクトリのリスト。 各ディレクトリは、QL パック (またはルートに .codeqlmanifest.json ファイルを含むパックのバンドル)、または 1 つ以上のこのようなディレクトリの直接の親ディレクトリのいずれかです。

パスにディレクトリ ツリーを含める場合は、それらの順序で、それらの間の優先順位を定義します。解決する必要があるパック名が複数のディレクトリ ツリーで一致する場合は、最初に指定したものが優先されます。

オープンソースの CodeQL リポジトリのチェックアウトでこれを指定すると、そこにある言語の 1 つを照会するときに機能するはずです。

(注: Windows では、パスの区切り記号は ; です)。

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

[詳細設定] このディレクトリ リストを指定した場合、ディレクトリは、--search-path で指定したものより前に、アップグレードについて検索されます。 これらの間の順序は重要ではありません。この一覧の 2 つの異なる場所でパック名が見つかった場合はエラーです。

これは、既定のパスにも表示されるパックの新しいバージョンを一時的に開発している場合に役立ちます。 一方、構成ファイルでこのオプションをオーバーライドすることは "お勧めしません"。内部アクションによっては、このオプションがオンザフライで追加され、構成済みの値がオーバーライドされます。__

(注: Windows では、パスの区切り記号は ; です)。

--target-dbscheme=<file>

アップグレード先である "ターゲット" の dbscheme。__ これを指定しない場合、最大アップグレード パスが構築されます

--target-sha=<sha>

[詳細設定] --target-dbscheme の代替手段で、dbscheme ファイルではなくターゲットの dbscheme の内部ハッシュを提供します。

--[no-]allow-downgrades

アップグレードがない場合、関連するダウングレードを含めます

共通オプション

-h, --help

このヘルプ テキストを表示します。

-J=<opt>

[詳細設定] コマンドを実行している JVM にオプションを指定します

(スペースを含むオプションは正しく処理されないことに注意してください)。

-v, --verbose

出力される進行状況メッセージの数を段階的に増やします。

-q, --quiet

出力される進行状況メッセージの数を段階的に減らします。

--verbosity=<level>

[詳細設定] 詳細レベルを、errors、warnings、progress、progress+、progress++、progress+++ のいずれかに明示的に設定します。 -v-q がオーバーライドされます。

--logdir=<dir>

[詳細設定] タイムスタンプと実行中のサブコマンドの名前を含む生成された名前を使用して、指定されたディレクトリ内の 1 つまたは複数のファイルに詳細なログを書き込みます

(完全に制御できる名前でログ ファイルを書き込むには、代わりに --log-to-stderr を指定し、必要に応じて stderr をリダイレクトします)。

--common-caches=<dir>

[[詳細設定] ダウンロードした QL パックやコンパイル済みクエリ プランなど、CLI の複数の実行間に保持される、ディスク上でキャッシュされたデータの場所を制御します。 明示的に設定されない場合、デフォルトではユーザーのホーム ディレクトリに名前が付けられた .codeql ディレクトリになります。まだ存在しない場合は作成されます。

v2.15.2 以降で使用できます。