Skip to content

Commit 6bb3c03

Browse files
committed
feat: add tdengine
1 parent 02af34a commit 6bb3c03

File tree

5 files changed

+49
-0
lines changed

5 files changed

+49
-0
lines changed

database/database.go

+3
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,9 @@ func newDialector(dialect string, dsn string) (gorm.Dialector, error) {
190190
return nil, fmt.Errorf("database mkdir (%s), %+v", dsn, err)
191191
}
192192
dialector = NewSqlite3(dsn)
193+
case "taosSql":
194+
dialector = NewTaosSql(dsn)
195+
193196
default:
194197
return nil, errors.New("please select database driver one of [mysql|postgres|sqlite3|custom], if use sqlite3, build tags with mysql|postgres|sqlite3!")
195198
}

database/tdengine_unused.go

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
//go:build !taosSql
2+
// +build !taosSql
3+
4+
package database
5+
6+
import (
7+
"gorm.io/gorm"
8+
)
9+
10+
func NewTaosSql(dsn string) gorm.Dialector {
11+
panic("please build tags with taosSql!")
12+
}

database/tdengine_used.go

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//go:build taosSql
2+
// +build taosSql
3+
4+
package database
5+
6+
import (
7+
tdengine_gorm "github.com/thinkgos/tdengine-gorm"
8+
"gorm.io/gorm"
9+
)
10+
11+
func NewTaosSql(dsn string) gorm.Dialector {
12+
return &tdengine_gorm.Dialect{
13+
DriverName: tdengine_gorm.DefaultDriverName,
14+
DSN: dsn,
15+
Conn: nil,
16+
}
17+
}

go.mod

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ require (
1010
github.com/stretchr/testify v1.10.0
1111
github.com/things-go/limiter v0.1.5
1212
github.com/things-go/proc v0.0.0-20250308140217-2fbab6367193
13+
github.com/thinkgos/tdengine-gorm v0.1.0
1314
github.com/xuri/excelize/v2 v2.9.0
1415
go.opentelemetry.io/otel/sdk v1.35.0
1516
go.opentelemetry.io/otel/trace v1.35.0
@@ -31,6 +32,7 @@ require (
3132
github.com/go-sql-driver/mysql v1.9.0 // indirect
3233
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
3334
github.com/google/uuid v1.6.0 // indirect
35+
github.com/gorilla/websocket v1.5.0 // indirect
3436
github.com/jackc/pgpassfile v1.0.0 // indirect
3537
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
3638
github.com/jackc/pgx/v5 v5.7.2 // indirect
@@ -43,6 +45,7 @@ require (
4345
github.com/richardlehane/mscfb v1.0.4 // indirect
4446
github.com/richardlehane/msoleps v1.0.4 // indirect
4547
github.com/rogpeppe/go-internal v1.14.1 // indirect
48+
github.com/taosdata/driver-go/v3 v3.6.0 // indirect
4649
github.com/xuri/efp v0.0.0-20250227110027-3491fafc2b79 // indirect
4750
github.com/xuri/nfp v0.0.0-20250226145837-86d5fc24b2ba // indirect
4851
go.opentelemetry.io/auto/sdk v1.1.0 // indirect

go.sum

+14
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6
2828
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
2929
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
3030
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
31+
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
32+
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
3133
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
3234
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
35+
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
36+
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
3337
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
3438
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
3539
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
@@ -42,12 +46,18 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD
4246
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
4347
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
4448
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
49+
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
50+
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
4551
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
4652
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
4753
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
4854
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
4955
github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM=
5056
github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
57+
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
58+
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
59+
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
60+
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
5161
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
5262
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
5363
github.com/mojocn/base64Captcha v1.3.8 h1:rrN9BhCwXKS8ht1e21kvR3iTaMgf4qPC9sRoV52bqEg=
@@ -75,10 +85,14 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
7585
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
7686
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
7787
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
88+
github.com/taosdata/driver-go/v3 v3.6.0 h1:4dRXMl01DhIS5xBXUvtkkB+MjL8g64zN674xKd+ojTE=
89+
github.com/taosdata/driver-go/v3 v3.6.0/go.mod h1:H2vo/At+rOPY1aMzUV9P49SVX7NlXb3LAbKw+MCLrmU=
7890
github.com/things-go/limiter v0.1.5 h1:vCVzm0897TSWFhy2G52rU27hdhJl/lgvfiRQrek53JQ=
7991
github.com/things-go/limiter v0.1.5/go.mod h1:C7SPsXIfiPPC44k/mb0TCwZa5DzqxXcL7Zg6g5hPL5I=
8092
github.com/things-go/proc v0.0.0-20250308140217-2fbab6367193 h1:3+vbs76RM7I1SsaOrxeSp/gvQzlu7+B8zodgPHxO4NU=
8193
github.com/things-go/proc v0.0.0-20250308140217-2fbab6367193/go.mod h1:aQJ7LTcxq+1R1Air5QGcYd9GsS5WPw45Ix/pHfQSPO4=
94+
github.com/thinkgos/tdengine-gorm v0.1.0 h1:/36nobQH4SY3K3ceIR1rwTF1OHSeW8vlyUQxhpJHb4U=
95+
github.com/thinkgos/tdengine-gorm v0.1.0/go.mod h1:8Al3xQ8JjHKNYthE2xeW5uJ284sjwj2rjA5YzLyYois=
8296
github.com/xuri/efp v0.0.0-20250227110027-3491fafc2b79 h1:78nKszZqigiBRBVcoe/AuPzyLTWW5B+ltBaUX1rlIXA=
8397
github.com/xuri/efp v0.0.0-20250227110027-3491fafc2b79/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
8498
github.com/xuri/excelize/v2 v2.9.0 h1:1tgOaEq92IOEumR1/JfYS/eR0KHOCsRv/rYXXh6YJQE=

0 commit comments

Comments
 (0)