【GoLand教程】GoLand 如何运行 PostgreSQL 查询?
先决条件
要使用本教程,请确保您已安装以下软件:
- Git 2.20.1 及更高版本- https://git-scm.com/。
- Docker 18.09.0 及更高版本 - https://www.docker.com/。
- GoLand 2018.3 及更高版本 - https://www.jetbrains.com/goland/download。
步骤 1. 从存储库中克隆文件
例如,我们将使用以下两个存储库:Sakila 转储文件 ( https://github.com/DataGrip/dumps ) 和 Docker-compose 文件 ( https://github.com/DataGrip/datagrip-documentation ) . Sakila 存储库包括生成 Sakila 数据库结构的脚本和将数据添加到数据库对象的脚本。Docker 存储库包括定义服务、网络和卷的 YAML 文件。
启用版本控制集成
- 点击VCS | 在菜单栏上启用版本控制集成。
- 在Enable Version Control Integration对话框中,确保
Git
在下拉列表中被选中,然后单击OK。
克隆存储库
- 点击 Git | 克隆。
在URL字段中,复制并粘贴以下 Web URL:
Sakila 转储文件:
https://github.com/DataGrip/dumps.git
Docker 撰写文件:
https://github.com/DataGrip/datagrip-documentation.git
- 在目录字段中,单击文件夹图标 ( ) 并指定存储库文件的目录。
步骤 2. 运行 Docker 容器
对于本教程,我们将为 Docker 运行一个 PostgreSQL 容器(来自datagrip-documentation存储库)。在存储库的Docker目录中,您可以找到.env和docker-compose.yml文件。.env包括 PostgreSQL 服务的凭据。docker-compose.yml定义了如何创建和配置服务。
服务名称是服务定义的第一行(在 JDBC URL 之前)。在我们的示例中,服务名称是postgresql_12,JDBC URL 是jdbc:postgresql://localhost:54333/guest?user=guest&password=guest
.
postgresql_12:
# jdbc:postgresql://localhost:54333/guest?user=guest&password=guest
container_name: postgresql_12
ports:
- "54333:5432"
image: postgres:12-alpine
env_file: .env
healthcheck:
test: "exit 0"
您可以通过运行以下命令从命令行运行容器:
docker-compose up -d postgresql_12
请注意,您必须先导航到docker-compose.yml文件的目录。
或者,您可以在 GoLand 中启用和使用 Docker 插件。
启用 Docker 支持
- 安装并运行 Docker。
有关更多信息,请参阅Docker 文档。
配置 Docker 守护程序连接设置:
- 按Ctrl+Alt+S打开 IDE 设置并选择Build、Execution、Deployment | 码头工人。
- 单击以添加 Docker 配置并指定如何连接到 Docker 守护程序。
连接设置取决于您的 Docker 版本和操作系统。
连接成功消息应出现在对话框底部。
> 路径映射表用于将本地文件夹映射到 Docker 虚拟机文件系统中的相应目录。只有指定的文件夹可用于卷绑定。
>
> 该表在 Linux 上不可用,因为在 Linux 上运行 Docker 时,任何文件夹都可用于卷绑定。
- 连接到 Docker 守护程序。
配置的 Docker 连接应出现在服务工具窗口中(查看 | 工具窗口 | 服务或Alt+8)。选择 Docker 节点并单击,或从上下文菜单中选择连接。
要编辑 Docker 连接设置,请选择 Docker 节点并单击工具栏上的 ,或从上下文菜单中选择编辑配置。
创建 Docker-compose 部署配置
- 在服务工具窗口(查看 | 工具窗口 | 服务)中,右键单击Docker节点并选择部署。
- 在弹出窗口中,选择Create Docker-compose Deployment。
- 在Create Deployment Configuration对话框中,单击Compose file(s)字段的Browse图标。
- 在Docker Compose Configuration Files对话框中,单击Add按钮并导航到 compose 文件。Compose YAML 文件定义服务、网络和卷。在我们的例子中,它是docker-compose.yml
- 在Docker Compose 配置文件对话框中,单击OK。
- 在服务字段中,键入
postgresql_12
。 - 单击运行。
因此,您可以在“服务”工具窗口中看到postgresql_12
正在运行的容器。
要查看所有正在运行的映像,请使用
docker ps
命令行中的命令。否则,使用Docker工具窗口 ( View | Tool Windows | Docker ) 查看和管理 Docker 容器。
步骤 3. 连接到数据源
根据数据库供应商(MySQL、PostgreSQL、Oracle),您需要创建相应的数据源连接。在本教程中,我们将创建一个 PostgreSQL 连接。
- 在数据库工具窗口(查看 | 工具窗口 | 数据库)中,单击数据源属性图标。
- 在数据源和驱动程序对话框中,单击添加图标 ( ) 并选择PostgreSQL。
- 在数据源设置区域的底部,单击下载缺少的驱动程序文件链接。当您单击此链接时,GoLand 会下载与数据库交互所需的驱动程序。IDE 不包含捆绑的驱动程序,以使安装包更小,并使每个 IDE 版本的驱动程序版本保持最新。
如果您不想下载提供的驱动程序,可以为数据源指定驱动程序。
- 在URL字段中,复制并粘贴 JDBC URL:jdbc:postgresql://localhost:54333/guest?user=guest&password=guest。其他 DBMS 的 JDBC URL,参见docker-compose.yml。您可以在文本编辑器中打开docker-compose.yml 。
- (可选)在名称字段中,删除当前名称并为连接键入一个新名称(例如 PostgreSQL)。
- 要确保与数据源的连接成功,请单击测试连接链接。
如果在单击Test connection按钮时看到Connecting to <JDBC URL>对话框,请指定密码并单击OK。
guest
步骤 4. 将目录附加到项目
要从 GoLand 中的项目运行转储文件,请附加一个包含转储文件的目录。
- 单击文件 | 打开.
- 导航到要附加的文件夹。在本教程中,此文件夹是您在步骤 1 中克隆的转储文件(Sakila 转储文件)。
- 单击打开。
- 在“打开项目”对话框中,单击“附加” 。
步骤 5. 运行转储文件
创建数据库结构
- 在 Project ( View | Tool Windows | Project ) 工具窗口中,导航到postgres-sakila-db树节点。
- 展开postgres-sakila-db树节点。
- 右键单击postgres-sakila-schema.sql并选择Run postgres-sakila-schema .sql。或者,单击postgres-sakila-schema.sql文件并按Ctrl+Shift+F10。
- 在Edit Configuration对话框中,单击Add按钮并选择PostgreSQL。
- 按运行。
将样本数据加载到数据库
- 在 Project ( View | Tool Windows | Project ) 工具窗口中,导航到postgres-sakila-db树节点。
- 展开postgres-sakila-db树节点。
- 右键单击postgres-sakila-insert-data.sql并选择运行 postgres-sakila-insert-data.sql。或者,单击postgres-sakila-insert-data.sql文件并按Ctrl+Shift+F10。
- 在Edit Configuration对话框中,单击Add按钮并选择PostgreSQL。
- 按运行。
步骤 6. 从 Go 代码中获取依赖项
为了向 PostgreSQL 发出查询,我们将使用sqlx
为 Go 标准库提供一组扩展的database/sql
库。
GitHub 上的 main.go:单击链接以从 GiHub 存储库获取代码。
- 在 GoLand 中创建一个 Go 项目。
- 右键单击项目中的根文件夹并导航到New | 去文件。
- 在New Go File对话框中,输入
main
Name字段并单击OK。 - 复制附加的代码片段并将其粘贴到main.go文件中。
- 将插入符号放在“github.com/jmoiron/sqlx”导入行,按下Alt+Enter并单击go get -t github.com/jmoiron/sqlx。
注入正确的 SQL 方言以在查询中具有正确的语法突出显示和代码完成。对于我们的示例,它是 PostgreSQL。要应用 PostgreSQL 方言,请按下Alt+Enter并选择注入语言或参考。在语言列表中,选择PostgreSQL (SQL)。
要仅运行 SQL 代码,请单击代码中的 SQL 部分,按Alt+Enter,然后选择Run query in console。
步骤 7. 运行配置
- 要运行配置,请单击主函数附近装订线中的运行图标 ( ),然后选择运行 'go build main.go'。