dialect

package
v0.0.0-...-7550b6a Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2026 License: MIT-0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDBNameIsEmpty    = errors.New("wormxxx: database name is empty")
	ErrTableNameIsEmpty = errors.New("wormxxx: table name is empty")
)

Functions

func Register

func Register(name string, dialect Dialect)

Register 注册指定的 Dialect

Types

type Dialect

type Dialect interface {
	clause.Clause

	// ParseColumn 解析数据表字段
	ParseColumn(tag string) (column.Column, error)
	// ConvertDatatype 转换数据类型
	ConvertDatatype(datatype reflect.Type) datatype.Datatype

	// GetDriverName 获取驱动名称
	GetDriverName() string
	// GetPrimaryKeyColumns 获取主键字段
	GetPrimaryKeyColumns(columns []column.Column) []column.Column
	// GetForeignKeyColumns 获取外键字段
	GetForeignKeyColumns(columns []column.Column) map[string][]column.Column
	// GetUnionIndexColumns 获取联合索引字段
	GetUnionIndexColumns(columns []column.Column) map[string][]column.Column
	// GetUnionUniqueColumns 获取联合索引字段
	GetUnionUniqueColumns(columns []column.Column) map[string][]column.Column

	// BuildTableQuerySQL 构造数据表查询语句
	BuildTableQuerySQL(ctx *clause.Context, dbName, tableName string) error
	// BuildTableCreateSQL 构造数据表创建语句
	BuildTableCreateSQL(ctx *clause.Context, tableName string, columns []column.Column, metadata ...TableMetadata) error
}

func Get

func Get(name string) Dialect

Get 获取指定的 Dialect

func NewMySQLDialect

func NewMySQLDialect() Dialect

NewMySQLDialect 创建 MySQL 数据库适配器

type TableMetadata

type TableMetadata struct {
	Engine  string // 数据库引擎
	Charset string // 数据库字符集
	Collate string // 数据库排序规则
	Comment string // 数据库注释
}

TableMetadata 数据库元数据

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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