GitHub Action Tests | CodeCov |
---|---|
English | 简体中文
driver-go
是 TDengine 的官方 Go 语言连接器,实现了 Go 语言 database/sql
包的接口。Go 开发人员可以通过它开发存取
TDengine 集群数据的应用软件。
- 原生连接:通过客户端驱动程序 taosc 直接与服务端程序 taosd 建立连接。这种方式需要保证客户端的驱动程序 taosc 和服务端的 taosd 版本保持一致。
- REST 连接:通过 taosAdapter 组件提供的 REST API 建立与 taosd 的连接。这种方式仅支持执行 SQL。
- Websocket 连接: 通过 taosAdapter 组件提供的 WebSocket API 建立与 taosd 的连接,不依赖 TDengine 客户端驱动。
我们推荐使用 WebSocket 连接方式。 详细说明请参考:连接方式 。
- 原生连接支持的平台和 TDengine 客户端驱动支持的平台一致。
- WebSocket/REST 连接支持所有能运行 Go 的平台。
项目引入驱动:
import (
"database/sql"
_ "github.com/taosdata/driver-go/v3/taosSql"
)
使用 go mod
方式管理依赖包:
go mod tidy
或通过 go get
直接下载安装:
go get github.com/taosdata/driver-go/v3/taosSql
- 已安装 Go 1.14 或以上版本,并允许 CGO
export CGO_ENABLED=1
。 - 本地已经部署 TDengine,具体步骤请参考 部署服务端,且已经启动 taosd 与 taosAdapter。
编写示例程序后使用 go build
即可构建.
- 执行测试前确保已经安装 TDengine 服务端,并且已经启动 taosd 与 taosAdapter,数据库干净无数据。
- 项目目录下执行
go test ./...
运行测试,测试会连接到本地的 TDengine 服务器与 taosAdapter 进行测试。 - 输出结果
PASS
为测试通过,FAIL
为测试失败,查看详细信息需要执行go test -v ./...
。
在 *_test.go
文件中添加测试用例,确保测试用例覆盖到新增的代码。
性能测试还在开发中。
我们欢迎提交 GitHub Issue。 提交时请说明下面信息:
- 问题描述,是否必现。
- 驱动版本。
- 连接参数(不需要服务器地址、用户名和密码)。
- TDengine 版本。
我们欢迎开发者一起开发本项目,提交 PR 时请参考下面步骤:
- Fork 本项目,请参考 (how to fork a repo)。
- 从 main 分支创建一个新分支,请使用有意义的分支名称 (
git checkout -b my_branch
)。 - 修改代码,保证所有单元测试通过,并增加新的单元测试验证修改。
- 提交修改到远端分支 (
git push origin my_branch
)。 - 在 GitHub 上创建一个 Pull Request (how to create a pull request)。
- 提交 PR 后,如果 CI 通过,可以在 codecov 页面找到自己 PR 查看覆盖率。