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。

必须提供 urlconnectionParams

connectionParams

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

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

URL 通过 urlconnectionParams 字段解析。 如果提供了 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 用于修改现有数据源。 筛选条件必须准确匹配一个数据源。 如果没有或有多于一个数据源匹配条件,将返回错误。

必须至少提供以下字段之一: nameurldriverIdconnectionParams

过滤器

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

name

新显示名称。

driverId

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

url

新的 JDBC URL。

connectionParams

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

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

URL 通过 urlconnectionParams 字段进行更新。 如果提供了 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

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

参数

无。 空对象 {}

此命令在 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日