mysqldb

package
v0.0.0-...-2a383cf Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 License: MIT Imports: 15 Imported by: 13

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TypeMysqlDicMp = map[string]string{
	"int":                "int",
	"int unsigned":       "int",
	"tinyint":            "int",
	"tinyint unsigned":   "int",
	"mediumint":          "int",
	"mediumint unsigned": "int",

	"smallint":          "int64",
	"smallint unsigned": "int64",
	"bigint":            "int64",
	"bigint unsigned":   "int64",
	"timestamp":         "int64",
	"integer":           "int64",

	"varchar":    "string",
	"char":       "string",
	"json":       "string",
	"text":       "string",
	"mediumtext": "string",
	"longtext":   "string",
	"tinytext":   "string",
	"enum":       "string",
	"nvarchar":   "string",

	"bit(1)":     "[]byte",
	"tinyblob":   "[]byte",
	"blob":       "[]byte",
	"mediumblob": "[]byte",
	"longblob":   "[]byte",
	"binary":     "[]byte",

	"date":          "time",
	"datetime":      "time",
	"time":          "time",
	"smalldatetime": "time",

	"tinyint(1)":          "bool",
	"tinyint(1) unsigned": "bool",

	"double":          "float64",
	"double unsigned": "float64",
	"float":           "float64",
	"float unsigned":  "float64",
	"real":            "float64",
	"numeric":         "float64",
}

TypeMysqlDicMp Accurate matching type.精确匹配类型

View Source
var TypeMysqlMatchList = []struct {
	Key   string
	Value string
}{
	{`^(tinyint)[(]\d+[)] unsigned`, "int"},
	{`^(smallint)[(]\d+[)] unsigned`, "int"},
	{`^(int)[(]\d+[)] unsigned`, "int"},
	{`^(tinyint)[(]\d+[)]`, "int"},
	{`^(smallint)[(]\d+[)]`, "int"},
	{`^(int)[(]\d+[)]`, "int"},
	{`^(mediumint)[(]\d+[)]`, "int"},
	{`^(mediumint)[(]\d+[)] unsigned`, "int"},
	{`^(integer)[(]\d+[)]`, "int"},

	{`^(bigint)[(]\d+[)] unsigned`, "int64"},
	{`^(bigint)[(]\d+[)]`, "int64"},
	{`^(timestamp)[(]\d+[)]`, "int64"},

	{`^(float)[(]\d+,\d+[)] unsigned`, "float64"},
	{`^(double)[(]\d+,\d+[)] unsigned`, "float64"},
	{`^(decimal)[(]\d+,\d+[)]`, "float64"},
	{`^(double)[(]\d+,\d+[)]`, "float64"},
	{`^(float)[(]\d+,\d+[)]`, "float64"},

	{`^(char)[(]\d+[)]`, "string"},
	{`^(enum)[(](.)+[)]`, "string"},
	{`^(varchar)[(]\d+[)]`, "string"},
	{`^(text)[(]\d+[)]`, "string"},
	{`^(set)[(][\s\S]+[)]`, "string"},

	{`^(varbinary)[(]\d+[)]`, "[]byte"},
	{`^(blob)[(]\d+[)]`, "[]byte"},
	{`^(binary)[(]\d+[)]`, "[]byte"},
	{`^(bit)[(]\d+[)]`, "[]byte"},
	{`^(geometry)[(]\d+[)]`, "[]byte"},

	{`^(datetime)[(]\d+[)]`, "time"},
}

TypeMysqlMatchList Fuzzy Matching Types.模糊匹配类型

Functions

func ColumnType

func ColumnType(t gorm.ColumnType) string

"VARCHAR", "TEXT", "NVARCHAR", "DECIMAL", "BOOL", "INT", and "BIGINT".

func GetDBlog

func GetDBlog(ignoreRecordNotFoundError bool) logger.Interface

GetDBlog 获取默认logger

Types

type ColumnTypeInfo

type ColumnTypeInfo struct {
	Name    string
	Type    string
	Commont string
}

type DbLog

type DbLog struct {
}

DbLog ...

func (DbLog) Write

func (lg DbLog) Write(p []byte) (n int, err error)

Write ...

type MySqlDB

type MySqlDB struct {
	*gorm.DB
}

MySqlDB ...

func OnInitDBOrm

func OnInitDBOrm(dataSourceName string, maxIdleConns, maxOpenConns int, ignoreRecordNotFoundError bool) (orm *MySqlDB)

OnInitDBOrm init MySqlDB

func (*MySqlDB) Commit

func (i *MySqlDB) Commit(db *gorm.DB)

Commit 自动提交(如果有错,Rollback)

func (*MySqlDB) IsNotFound

func (i *MySqlDB) IsNotFound(errs ...error) bool

IsNotFound 判断错误是否未找到

func (*MySqlDB) OnDestoryDB

func (i *MySqlDB) OnDestoryDB()

OnDestoryDB destorydb

func (*MySqlDB) OnGetDBOrm

func (i *MySqlDB) OnGetDBOrm(dataSourceName string, maxIdleConns, maxOpenConns int, ignoreRecordNotFoundError bool) *gorm.DB

OnGetDBOrm get gorm.db

func (*MySqlDB) RecordNotFound

func (i *MySqlDB) RecordNotFound() bool

RecordNotFound check if returning ErrRecordNotFound error

type RawInfo

type RawInfo struct {
	ColumnTypes []ColumnTypeInfo
	Values      [][]interface{}
}

RawInfo 列信息

type TabColumnInfo

type TabColumnInfo struct {
	ColumnName string
	ColumnType string // 跟数据库一致
	Len        string
	NotNull    bool
	Comment    string // 注释
}

TabColumnInfo 表信息

type TablesModel

type TablesModel struct {
	ID int `gorm:"primaryKey;column:id" json:"-"` // 主键id
}

type TablesTools

type TablesTools struct {
	// contains filtered or unexported fields
}

func NewTabTools

func NewTabTools(orm *MySqlDB, tabName string) (*TablesTools, error)

Tables

func (*TablesTools) AddColumn

func (t *TablesTools) AddColumn(column *TabColumnInfo) error

AddColumn 添加列元素

func (*TablesTools) ColumnTypes

func (t *TablesTools) ColumnTypes() ([]gorm.ColumnType, error)

ColumnTypes 获取列属性

func (*TablesTools) CreateIndex

func (t *TablesTools) CreateIndex(column string) error

CreateIndex Indexes

func (*TablesTools) CreateTable

func (t *TablesTools) CreateTable(columns []*TabColumnInfo) error

CreateTable 创建表

func (*TablesTools) DropColumn

func (t *TablesTools) DropColumn(column string) error

DropColumn 删除列

func (*TablesTools) DropIndex

func (t *TablesTools) DropIndex(column string) error

DropIndex Indexes

func (*TablesTools) DropTable

func (t *TablesTools) DropTable() error

DropTable 如果存在表则删除(删除时会忽略、删除外键约束)

func (*TablesTools) GetDB

func (t *TablesTools) GetDB() *gorm.DB

GetDB 获取db

func (*TablesTools) GetTables

func (t *TablesTools) GetTables() (tableList []string, err error)

GetTables 获取所有表名

func (*TablesTools) HasColumn

func (t *TablesTools) HasColumn(column string) bool

HasColumn 是否有列

func (*TablesTools) HasIndex

func (t *TablesTools) HasIndex(column string) bool

HasIndex Indexes

func (*TablesTools) HasTable

func (t *TablesTools) HasTable() bool

HasTable 表是否存在

func (*TablesTools) RenameColumn

func (t *TablesTools) RenameColumn(oldColumn, newColumn string) error

RenameColumn 字段重命名

func (*TablesTools) RenameIndex

func (t *TablesTools) RenameIndex(oldColumn, newColumn string) error

RenameIndex Indexes

func (*TablesTools) RenameTable

func (t *TablesTools) RenameTable(newTabName string) error

RenameTable 重命名表

func (*TablesTools) Select

func (t *TablesTools) Select(DB *gorm.DB) (*RawInfo, error)

Select 查询

func (*TablesTools) TruncateTable

func (t *TablesTools) TruncateTable() error

TruncateTable 截断表

Jump to

Keyboard shortcuts

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