DataGrip 2026.2 Help

CLI 命令:管理

管理 命令接受带有操作列表的 JSON 输入,依次执行这些操作,并输出包含结果的 JSON 数组。 这是创建、修改和删除数据源以及管理驱动程序构件的主要命令。

语法
datagrip.exe dataSources manage -p <project_path> -i <input_path> -o <output_path>
示例
datagrip.exe dataSources manage -p C:\my_projects\cli_for_data_sources\ -i C:\data_source_jsons\input.json -o C:\data_source_jsons\output.json
语法
datagrip dataSources manage -p <project_path> -i <input_path> -o <output_path>
示例
datagrip dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/input.json -o ~/data_source_jsons/output.json
语法
datagrip.sh dataSources manage -p <project_path> -i <input_path> -o <output_path>
示例
datagrip.sh ataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/input.json -o ~/data_source_jsons/output.json

选项

-p,--project

项目目录路径。

必需:是

-i,--input

输入文件路径。 如果省略,则从标准输入读取 DataGrip。

必需:否

-o,--output

输出文件路径。 如果省略,DataGrip 会写入到 stdout。

必需:否

--input-schema},{

返回可用于验证输入 JSON 的 JSON schema。

必需:否

--output-schema

返回可用于验证输出 JSON 的 JSON schema。

必需:否

--input-schema},{ 和 --input-schema},{ 选项不管理数据源,因此与它们一起使用时, -p、 -i 和 -o 会被忽略。

输入格式

{ "actions": [ { "actionName": { <parameters> } }, { "actionName": { <parameters> } } ] }

在 actions 数组中,每个元素是一个只有一个键(操作名称)的 JSON 对象。 该键的值为操作参数对象。

输出格式

对于 管理 命令,输出格式为 JSON 数组,每个元素对应输入中的操作。 在输出和输入中,元素与操作的顺序一致。

[ { "action": "actionName", "result": { <result_fields> } }, { "action": "actionName", "error": "<error_message>" } ]

成功时,条目包含 "result" ,其内容为操作特定的结果数据。 失败时,条目包含 "error" ,其内容为错误消息。

有关支持的操作列表,请参阅 操作。

常用类型

DataSourceFilter

DataGrip 使用此筛选器匹配数据源。 要匹配数据源,所有指定字段必须匹配。 如果所有字段都是 null ,则筛选器不会匹配任何内容。

这些字段包含关于数据源的信息:

id

唯一标识符。

name

显示名称。

dbmsName

DBMS 名称。 例如, "POSTGRES"、 "MYSQL" 或 "ORACLE"。 区分大小写。

UpdatedDataSourceInfo

在创建或修改操作后返回。

这些字段包含关于数据源的信息:

id

唯一标识符。

name

显示名称。

url

JDBC URL。

操作

createDataSource

在项目中创建一个新的数据源。

参数

name

新数据源的显示名称。

driverId

显式驱动程序 ID。 如果提供该参数,则 dbmsName 参数会被忽略。

dbmsName

用于自动驱动程序搜索的 DBMS 名称。 例如, "POSTGRES", "MYSQL"。

url

JDBC URL。

必须提供 url 或 connectionParams。

connectionParams

用于根据驱动程序的 URL 模板生成 URL 的键值连接参数。

驱动程序通过 driverId 和 dbmsName 字段解析。 如果提供了 driverId, dbmsName 会被忽略,驱动程序将通过提供的 ID 查找。 否则,将通过匹配 dbmsName 或 url 与已注册驱动程序解析驱动程序。

URL 通过 url 和 connectionParams 字段解析。 如果提供了 url ,则直接使用其值。 如果同时提供了 connectionParams 但未提供 url ,则从已解析驱动程序的 URL 模板和给定参数生成 URL。 如果未提供任何参数,则返回错误。

此命令在 JSON 输出中的结果如下:

{ "createdDataSource": { "id": "<generated_unique_id>", "name": "My PostgreSQL", "url": "jdbc:postgresql://localhost:5432/mydb" } }

示例

  • 输入 JSON 文件 action_create_in.json :

    { "actions": [ { "createDataSource": { "name": "My PostgreSQL", "dbmsName": "POSTGRES", "url": "jdbc:postgresql://localhost:5432/mydb" } } ] }
  • CLI 命令:

    datagrip.exe dataSources manage -p C:\my_projects\cli_for_data_sources\ -i C:\data_source_jsons\action_create_in.json -o C:\data_source_jsons\action_create_out.json
    datagrip dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_create_in.json -o ~/data_source_jsons/action_create_out.json
    datagrip.sh dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_create_in.json -o ~/data_source_jsons/action_create_out.json
  • 输出 JSON 文件 action_create_out.json :

    [ { "action": "createDataSource", "result": { "createdDataSource": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "My PostgreSQL", "url": "jdbc:postgresql://localhost:5432/mydb" } } } ]

deleteDataSource

删除与指定筛选器匹配的数据源。 每个筛选器独立进行评估。 若数据源匹配任一筛选器,则会被删除。

参数

筛选器

筛选器 列表。 若数据源匹配任一提供的筛选器,则会被删除。

示例

  • 输入 JSON 文件 action_delete_in.json :

    { "actions": [ { "deleteDataSource": { "filters": [ { "name": "Old Database" }, { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" } ] } } ] }
  • CLI 命令:

    datagrip.exe dataSources manage -p C:\my_projects\cli_for_data_sources\ -i C:\data_source_jsons\action_delete_in.json -o C:\data_source_jsons\action_delete_out.json
    datagrip dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_delete_in.json -o ~/data_source_jsons/action_delete_out.json
    datagrip.sh dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_delete_in.json -o ~/data_source_jsons/action_delete_out.json
  • 输出 JSON 文件 action_delete_out.json :

    [ { "action": "deleteDataSource", "result": { "deletedIds": [ "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "b2c3d4e5-f6a7-8901-bcde-f12345678901" ] } } ]

modifyDataSource

参数

modifyDataSource 用于修改现有数据源。 筛选条件必须准确匹配一个数据源。 如果没有或有多于一个数据源匹配条件,将返回错误。

必须至少提供以下字段之一: name、 url、 driverId 或 connectionParams。

过滤器

用于标识数据源的筛选器。 条件必须准确匹配一个数据源。

name

新显示名称。

driverId

新驱动程序 ID。 更改与数据源关联的驱动程序。

url

新的 JDBC URL。

connectionParams

键值连接参数。 这些参数可帮助使用当前驱动程序的 URL 模板生成新的 URL。

如果同时提供了 url 字段,则此字段会被忽略。 也已提供。

URL 通过 url 或 connectionParams 字段进行更新。 如果提供了 url 字段,则直接使用其值。 如果仅提供 connectionParams ,则使用当前驱动程序的 URL 模板和参数生成新的 URL。 如果还提供了 driverId ,则会先更新驱动程序,然后 connectionParams 会使用新驱动程序。

此命令在 JSON 输出中的结果如下:

{ "modifiedDataSource": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "<updated_data_source_name>", "url": "jdbc:postgresql://<new_host>:5432/mydb" } }

示例

  • 输入 JSON 文件 action_modify_in.json :

    { "actions": [ { "modifyDataSource": { "filter": { "name": "My PostgreSQL" }, "name": "Production PostgreSQL", "url": "jdbc:postgresql://prod-host:5432/mydb" } } ] }
  • CLI 命令:

    datagrip.exe dataSources manage -p C:\my_projects\cli_for_data_sources\ -i C:\data_source_jsons\action_modify_in.json -o C:\data_source_jsons\action_modify_out.json
    datagrip dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_modify_in.json -o ~/data_source_jsons/action_modify_out.json
    datagrip.sh dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_modify_in.json -o ~/data_source_jsons/action_modify_out.json
  • 输出 JSON 文件 action_modify_out.json :

    [ { "action": "modifyDataSource", "result": { "modifiedDataSource": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Production PostgreSQL", "url": "jdbc:postgresql://prod-host:5432/mydb" } } } ]

updateArtifactList

从远程仓库刷新可用数据库构件(驱动程序)列表。 该操作不带参数,通常应在 downloadArtifacts 或 setUpRecommendedArtifacts 前调用,以确保构件目录为最新。

参数

无。 空对象 {}。

此命令在 JSON 输出中的结果如下:

{ "status": "ok" }

示例

  • 输入 JSON 文件 action_updateArtifacts_in.json :

    { "actions": [ { "updateArtifactList": {} } ] }
  • CLI 命令:

    datagrip.exe dataSources manage -p C:\my_projects\cli_for_data_sources\ -i C:\data_source_jsons\action_updateArtifacts_in.json -o C:\data_source_jsons\action_updateArtifacts_out.json
    datagrip dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_updateArtifacts_in.json -o ~/data_source_jsons/action_updateArtifacts_out.json
    datagrip.sh dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_updateArtifacts_in.json -o ~/data_source_jsons/action_updateArtifacts_out.json
  • 输出 JSON 文件 action_updateArtifacts_out.json :

    [ { "action": "updateArtifactList", "result": { "status": "ok" } } ]

downloadArtifacts

通过它们的构件令牌下载指定的数据库构件(如 JDBC 驱动 JAR 包)。

参数

artifactTokens

要下载的构件令牌列表。

支持以下构件令牌格式:

  • <artifactId> :解析为最新稳定版本。

  • <artifactId>:<version> :解析为指定版本。

  • <artifactId>:<channel> :解析为给定频道的最新版本。

  • <artifactId>:<version>/<channel> :解析为给定频道的指定版本。

此命令在 JSON 输出中的结果如下:

{ "downloadedArtifacts": [ { "artifactId": "com.mysql", "version": "8.0.33", "state": "Downloaded" } ] }

生成的 JSON 包含以下字段:

artifactId

构件标识符。

version

下载的版本。 如果解析失败,则值为 null。

状态

结果状态: "Downloaded" 或 "Failed"。

error

错误消息。 仅当 状态 为 "Failed" 时显示。

示例

  • 输入 JSON 文件 action_downloadArtifacts_in.json :

    { "actions": [ { "downloadArtifacts": { "artifactTokens": ["com.mysql:8.0.33", "org.postgresql"] } } ] }
  • CLI 命令:

    datagrip.exe dataSources manage -p C:\my_projects\cli_for_data_sources\ -i C:\data_source_jsons\action_downloadArtifacts_in.json -o C:\data_source_jsons\action_downloadArtifacts_out.json
    datagrip dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_downloadArtifacts_in.json -o ~/data_source_jsons/action_downloadArtifacts_out.json
    datagrip.sh dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_downloadArtifacts_in.json -o ~/data_source_jsons/action_downloadArtifacts_out.json
  • 输出 JSON 文件 action_downloadArtifacts_out.json :

    [ { "action": "downloadArtifacts", "result": { "downloadedArtifacts": [ { "artifactId": "com.mysql", "version": "8.0.33", "state": "Downloaded" }, { "artifactId": "org.postgresql", "version": "42.7.1", "state": "Failed", "error": "Connection timeout" } ] } } ]

setUpRecommendedArtifacts

为指定的数据库驱动程序下载并配置推荐的(最新稳定)构件。 适用于驱动首次安装或将驱动升级到推荐版本。

参数

driverIds

要设置的驱动程序 ID 列表。

此命令在 JSON 输出中的结果如下:

{ "updatedDrivers": [ { "id": "postgresql", "name": "PostgreSQL", "state": "Downloaded" } ] }

生成的 JSON 包含以下字段:

id

驱动程序 ID。

name

驱动程序显示名称。 如果未找到驱动程序,则值为 null。

状态

结果状态:

  • "Downloaded" :已下载并配置新构件。

  • "UpToDate" :该驱动程序已具备推荐的构件。

  • "Failed" :操作失败。 例如,驱动程序 ID 未知。

error

错误消息。 仅当 状态 为 "Failed" 时显示。

示例

  • 输入 JSON 文件 action_setupArtifacts_in.json :

    { "actions": [ { "setUpRecommendedArtifacts": { "driverIds": ["postgresql", "mysql.8"] } } ] }
  • CLI 命令:

    datagrip.exe dataSources manage -p C:\my_projects\cli_for_data_sources\ -i C:\data_source_jsons\action_setupArtifacts_in.json -o C:\data_source_jsons\action_setupArtifacts_out.json
    datagrip dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_setupArtifacts_in.json -o ~/data_source_jsons/action_setupArtifacts_out.json
    datagrip.sh dataSources manage -p ~/my_projects/cli_for_data_sources/ -i ~/data_source_jsons/action_setupArtifacts_in.json -o ~/data_source_jsons/action_setupArtifacts_out.json
  • 输出 JSON 文件 action_setupArtifacts_out.json :

    [ { "action": "setUpRecommendedArtifacts", "result": { "updatedDrivers": [ { "id": "postgresql", "name": "PostgreSQL", "state": "Downloaded" }, { "id": "mysql.8", "name": "MySQL 8", "state": "UpToDate" } ] } } ]
2026年 7月 14日