# 数据库捆绑包

创建 CodeQL 数据库的可重定位存档。

> [!NOTE]
> 此内容描述了 CodeQL CLI 的最新版本。 有关此版本的详细信息，请参阅 https://github.com/github/codeql-cli-binaries/releases 。
>
> 若要查看早期版本中此命令可用选项的详细信息，请在终端中使用 <span style="white-space: nowrap;">`--help`</span> 选项运行命令。

## 概要

```shell copy
codeql database bundle --output=<output> <options>... -- <database>
```

## Description

创建 CodeQL 数据库的可重定位存档。

压缩数据库有用部分的命令。 这将仅包含必需组件，除非用户明确要求应包含结果、日志、TRAP 或类似内容。

## 选项

### 主要选项

#### `<database>`

              \[必选] 要捆绑的 CodeQL 数据库的路径。

#### `-o, --output=<output>`

              \[必选] 输出文件，通常扩展名为“.zip”。

#### `--[no-]include-diagnostics`

在捆绑包中包含诊断信息。

自 `v2.16.0` 起可用。

#### `--[no-]include-results`

在捆绑包中包含任何预计算的查询结果。

#### `--[no-]include-logs`

在捆绑包中包含日志目录。

自 `v2.17.6` 起可用。

#### `--[no-]include-temp`

包括“temp”目录，任何生成的包、查询和套件都位于其中。

自 `v2.13.3` 起可用。

#### `--[no-]include-uncompressed-source`

包含源存档目录的未压缩版本。 这对于旧版 CodeQL 插件（如 CodeQL for Eclipse）是必需的。

#### `--include=<include>`

              \[高级] 与要包含在捆绑包中的数据库目录相关的其他路径。

自 `v2.24.0` 起可用。

#### `--name=<name>`

捆绑包中顶级目录的名称。 如果未给出，则默认为数据库目录的名称。

### 低级别数据集清理选项

#### `--max-disk-cache=<MB>`

设置磁盘缓存可用于中间查询结果的最大空间量。

如果未显式配置此大小，计算器将根据数据集大小和查询复杂性尝试使用“合理的”缓存空间量。 显式设置高于此默认使用量的限制将启用额外的缓存，从而加快以后的查询速度。

#### `--min-disk-free=<MB>`

              \[高级] 设置文件系统的目标可用空间量。

如果未提供 `--max-disk-cache`，当文件系统上的可用空间低于此值时，计算器便会努力减少磁盘缓存使用量。

#### `--min-disk-free-pct=<pct>`

              \[高级] 设置文件系统的目标可用空间比例。

如果未提供 `--max-disk-cache`，当文件系统上的可用空间低于此百分比时，计算器便会努力减少磁盘缓存使用量。

#### `--cache-cleanup=<mode>`

选择剪裁缓存的主动程度。 选项包括：

              `clear`：删除整个缓存，缩减到刚提取数据集的状态

              `trim`
              _（默认）_：修剪除明确“缓存”的谓词之外的所有内容。

              `fit`：只需确保遵守磁盘缓存的已定义大小限制，删除必要数量的中间文件。

              `overlay`：修剪到仅对覆盖层评估有用的数据。

#### `--cleanup-upgrade-backups`

删除因数据库升级而生成的任何备份目录。

### 常用选项

#### `-h, --help`

显示此帮助文本。

#### `-J=<opt>`

              \[高级] 向运行命令的 JVM 提供选项。

（请注意，无法正确处理包含空格的选项。）

#### `-v, --verbose`

以增量方式增加输出的进度消息数。

#### `-q, --quiet`

以增量方式减少输出的进度消息数。

#### `--verbosity=<level>`

              \[高级] 明确将详细级别设置为 errors、warnings、progress、progress+、progress++、progress+++ 之一。 重写 `-v` 和 `-q`。

#### `--logdir=<dir>`

              \[高级] 将详细日志写入指定目录中的一个或多个文件，生成的文件名包含时间戳和正在运行的子命令名称。

（要使用可以完全控制的名称编写日志文件，请根据需要提供 `--log-to-stderr` 并重定向 stderr。）

#### `--common-caches=<dir>`

              \[高级] 控制磁盘上缓存数据的位置，这些数据将在 CLI 的多次运行之间保留，例如下载的 QL 包和编译的查询计划。 如果未明确设置，则默认为用户主目录中名为 `.codeql` 的目录；如果尚不存在，则会创建该目录。

自 `v2.15.2` 起可用。