kingbase

package module
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 20 Imported by: 0

README

GORM KingbaseES Driver

基于 KingbaseES 数据库官方 Go 驱动源码 二次开发整理的开箱即用的 GORM KingbaseES 数据库驱动, 无需单独复制驱动源码到项目中。

获取 KingbaseES 最新官方 Go 驱动请访问 https://www.kingbase.com.cn/download.html#drive

最低要求

快速上手

安装
go get github.com/godoes/gorm-kingbase
默认用例
import (
    "github.com/godoes/gorm-kingbase"
    "gorm.io/gorm"
)

// https://docs.kingbase.com.cn/cn/KES-V9R1C10/application/client_interface/GO/Gokb/go-2/
dsn := "host=localhost user=SYSTEM password=123456 dbname=TEST port=54321 sslmode=disable"
db, err := gorm.Open(kingbase.Open(dsn), &gorm.Config{})
配置用例
import (
    "github.com/godoes/gorm-kingbase"
    "gorm.io/gorm"
)

db, err := gorm.Open(kingbase.New(kingbase.Config{
    // data source name, refer https://docs.kingbase.com.cn/cn/KES-V9R1C10/application/client_interface/GO/Gokb/go-2/
    DSN: "host=localhost user=SYSTEM password=123456 dbname=TEST port=54321 sslmode=disable",
    // disables implicit prepared statement usage. By default pgx automatically uses the extended protocol
    PreferSimpleProtocol: true,
}), &gorm.Config{})

参考文档

KingbaseES 技术文档
GORM 文档

Documentation

Index

Constants

View Source
const DriverName = "kingbase"

DriverName 数据库驱动、连接字符串协议名称

Variables

This section is empty.

Functions

func BuildUrl

func BuildUrl(user, password, host string, port int, dbname string, options ...map[string]string) string

BuildUrl 构建 KES 数据库连接字符串

func New

func New(config Config) gorm.Dialector

func Open

func Open(dsn string) gorm.Dialector

Types

type Config

type Config struct {
	DriverName           string
	DSN                  string
	WithoutQuotingCheck  bool
	PreferSimpleProtocol bool
	WithoutReturning     bool
	Conn                 gorm.ConnPool
	OptionOpenDB         []stdlib.OptionOpenDB
}

type Dialector

type Dialector struct {
	*Config
}

func (Dialector) Apply

func (dialector Dialector) Apply(config *gorm.Config) error

func (Dialector) BindVarTo

func (dialector Dialector) BindVarTo(writer clause.Writer, stmt *gorm.Statement, v interface{})

func (Dialector) DataTypeOf

func (dialector Dialector) DataTypeOf(field *schema.Field) string

func (Dialector) DefaultValueOf

func (dialector Dialector) DefaultValueOf(field *schema.Field) clause.Expression

func (Dialector) Explain

func (dialector Dialector) Explain(sql string, vars ...interface{}) string

func (Dialector) Initialize

func (dialector Dialector) Initialize(db *gorm.DB) (err error)

func (Dialector) Migrator

func (dialector Dialector) Migrator(db *gorm.DB) gorm.Migrator

func (Dialector) Name

func (dialector Dialector) Name() string

func (Dialector) QuoteTo

func (dialector Dialector) QuoteTo(writer clause.Writer, str string)

func (Dialector) RollbackTo

func (dialector Dialector) RollbackTo(tx *gorm.DB, name string) error

func (Dialector) SavePoint

func (dialector Dialector) SavePoint(tx *gorm.DB, name string) error

func (Dialector) Translate

func (dialector Dialector) Translate(err error) error

Translate it will translate the error to native gorm errors.

type ErrMessage

type ErrMessage struct {
	Code     gokb.ErrorCode
	Severity string
	Message  string
}

type Index

type Index struct {
	TableName  string `gorm:"column:table_name"`
	ColumnName string `gorm:"column:column_name"`
	IndexName  string `gorm:"column:index_name"`
	NonUnique  bool   `gorm:"column:non_unique"`
	Primary    bool   `gorm:"column:primary"`
}

Index table index info

type Migrator

type Migrator struct {
	migrator.Migrator
}

func (Migrator) AddColumn

func (m Migrator) AddColumn(value interface{}, field string) error

func (Migrator) AlterColumn

func (m Migrator) AlterColumn(value interface{}, field string) error

AlterColumn alter value's `field` column' type based on schema definition

func (Migrator) BuildIndexOptions

func (m Migrator) BuildIndexOptions(opts []schema.IndexOption, stmt *gorm.Statement) (results []interface{})

func (Migrator) ColumnTypes

func (m Migrator) ColumnTypes(value interface{}) (columnTypes []gorm.ColumnType, err error)

func (Migrator) CreateIndex

func (m Migrator) CreateIndex(value interface{}, name string) error

func (Migrator) CreateSequence

func (m Migrator) CreateSequence(tx *gorm.DB, stmt *gorm.Statement, field *schema.Field,
	serialDatabaseType string) (err error)

func (Migrator) CreateTable

func (m Migrator) CreateTable(values ...interface{}) (err error)

func (Migrator) CurrentDatabase

func (m Migrator) CurrentDatabase() (name string)

func (Migrator) CurrentSchema

func (m Migrator) CurrentSchema(stmt *gorm.Statement, table string) (interface{}, interface{})

func (Migrator) DeleteSequence

func (m Migrator) DeleteSequence(tx *gorm.DB, stmt *gorm.Statement, field *schema.Field,
	fileType clause.Expr) (err error)

func (Migrator) DropColumn

func (m Migrator) DropColumn(dst interface{}, field string) error

func (Migrator) DropIndex

func (m Migrator) DropIndex(value interface{}, name string) error

func (Migrator) DropTable

func (m Migrator) DropTable(values ...interface{}) error

func (Migrator) GetIndexes

func (m Migrator) GetIndexes(value interface{}) ([]gorm.Index, error)

func (Migrator) GetRows

func (m Migrator) GetRows(currentSchema interface{}, table interface{}) (*sql.Rows, error)

func (Migrator) GetTables

func (m Migrator) GetTables() (tableList []string, err error)

func (Migrator) GetTypeAliases

func (m Migrator) GetTypeAliases(databaseTypeName string) []string

func (Migrator) HasColumn

func (m Migrator) HasColumn(value interface{}, field string) bool

func (Migrator) HasConstraint

func (m Migrator) HasConstraint(value interface{}, name string) bool

func (Migrator) HasIndex

func (m Migrator) HasIndex(value interface{}, name string) bool

func (Migrator) HasTable

func (m Migrator) HasTable(value interface{}) bool

func (Migrator) MigrateColumn

func (m Migrator) MigrateColumn(value interface{}, field *schema.Field, columnType gorm.ColumnType) error

func (Migrator) RenameColumn

func (m Migrator) RenameColumn(dst interface{}, oldName, field string) error

func (Migrator) RenameIndex

func (m Migrator) RenameIndex(value interface{}, oldName, newName string) error

func (Migrator) UpdateSequence

func (m Migrator) UpdateSequence(tx *gorm.DB, stmt *gorm.Statement, field *schema.Field,
	serialDatabaseType string) (err error)

Directories

Path Synopsis
Package gokb
Package gokb
oid
Package oid 包定义了服务端数据类型的oid
Package oid 包定义了服务端数据类型的oid
scram
Package scram
Package scram
sm3
Package sm3 ***************************************************************************** * 版权信息:中电科金仓(北京)科技股份有限公司
Package sm3 ***************************************************************************** * 版权信息:中电科金仓(北京)科技股份有限公司

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL