Gogs适配GaussDB开源开发任务
背景介绍
Gogs是一款轻量级、跨平台、极易搭建的自助 Git 服务。旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的所有平台,包括 Linux、macOS、Windows 和基于 ARM 的操作系统。
华为云数据库 GaussDB(https://support.huaweicloud.cn/gaussdb/index.html) 是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力。
开发思路
Gogs操作数据库使用的是Gorm,所以可以使用已有的 postgres GORM 驱动,然后通过设置 DriverName 来切换到 GaussDB 数据库驱动类。通过分析 postgres GORM 驱动代码可知,在配置 postgres 驱动时,如果指定了 DriverName 就会直接使用该数据库驱动类,否则再加载 PostgreSQL 数据库驱动类。这就为我们提供了一套嫁衣,让我们使用 postgres GORM 驱动来操作 GaussDB 数据库驱动类。
1、添加开源驱动包go get gitee.com/opengauss/openGauss-connector-go-pq
2、下载官网商业驱动到项目目录,
3、在go.mod中替换开源驱动为商业驱动
replace gitee.com/opengauss/openGauss-connector-go-pq => ./openGauss-connector-go-pq
4、在internal/dbutil/dsn.go文件中导入
验证截图
4.1.1 在web页数据库类型选择“GaussDB”输入GaussDB主机、用户、密码和数据库名称,如下图。
4.1.2 安装完后跳转到登录页面,如下图
4.1.3 选择注册,进入下图步骤,进行用户注册
4.1.4注册完用户后,跳转到登录页,如下图
4.1.5 登录后,进入控制台,如下图
- 点赞
- 收藏
- 关注作者
评论(0)