diff --git a/dialect_tidb.go b/dialect_tidb.go new file mode 100644 index 00000000..be7587f6 --- /dev/null +++ b/dialect_tidb.go @@ -0,0 +1,13 @@ +package gorm + +type tidb struct { + mysql +} + +func init() { + RegisterDialect("tidb", &tidb{}) +} + +func (tidb) GetName() string { + return "tidb" +} diff --git a/dialects/tidb/tidb.go b/dialects/tidb/tidb.go new file mode 100644 index 00000000..15771c79 --- /dev/null +++ b/dialects/tidb/tidb.go @@ -0,0 +1,3 @@ +package tidb + +import _ "github.com/pingcap/tidb" diff --git a/main_test.go b/main_test.go index f76988d2..fad4235b 100644 --- a/main_test.go +++ b/main_test.go @@ -17,6 +17,7 @@ import ( _ "github.com/jinzhu/gorm/dialects/mysql" "github.com/jinzhu/gorm/dialects/postgres" _ "github.com/jinzhu/gorm/dialects/sqlite" + _ "github.com/jinzhu/gorm/dialects/tidb" "github.com/jinzhu/now" ) @@ -60,6 +61,9 @@ func OpenTestConnection() (db *gorm.DB, err error) { case "mssql": fmt.Println("testing mssql...") db, err = gorm.Open("mssql", "server=SERVER_HERE;database=rogue;user id=USER_HERE;password=PW_HERE;port=1433") + case "tidb": + fmt.Println("testing tidb...") + db, err = gorm.Open("tidb", filepath.Join(os.TempDir(), "goleveldb://gorm")) default: fmt.Println("testing sqlite3...") db, err = gorm.Open("sqlite3", filepath.Join(os.TempDir(), "gorm.db")) diff --git a/test_all.sh b/test_all.sh index 6c5593b3..c8f9f602 100755 --- a/test_all.sh +++ b/test_all.sh @@ -1,4 +1,4 @@ -dialects=("postgres" "mysql" "sqlite") +dialects=("postgres" "mysql" "sqlite", "tidb") for dialect in "${dialects[@]}" ; do GORM_DIALECT=${dialect} go test diff --git a/wercker.yml b/wercker.yml index ff6fb17c..19a82219 100644 --- a/wercker.yml +++ b/wercker.yml @@ -40,7 +40,12 @@ build: - script: name: test sqlite code: | - go test ./... + GORM_DIALECT=sqlite3 go test ./... + + - script: + name: test tidb + code: | + GORM_DIALECT=tidb go test ./... - script: name: test mysql