Documentation
¶
Index ¶
- Variables
- func ColumnType(t gorm.ColumnType) string
- func GetDBlog(ignoreRecordNotFoundError bool) logger.Interface
- type ColumnTypeInfo
- type DbLog
- type MySqlDB
- type RawInfo
- type TabColumnInfo
- type TablesModel
- type TablesTools
- func (t *TablesTools) AddColumn(column *TabColumnInfo) error
- func (t *TablesTools) ColumnTypes() ([]gorm.ColumnType, error)
- func (t *TablesTools) CreateIndex(column string) error
- func (t *TablesTools) CreateTable(columns []*TabColumnInfo) error
- func (t *TablesTools) DropColumn(column string) error
- func (t *TablesTools) DropIndex(column string) error
- func (t *TablesTools) DropTable() error
- func (t *TablesTools) GetDB() *gorm.DB
- func (t *TablesTools) GetTables() (tableList []string, err error)
- func (t *TablesTools) HasColumn(column string) bool
- func (t *TablesTools) HasIndex(column string) bool
- func (t *TablesTools) HasTable() bool
- func (t *TablesTools) RenameColumn(oldColumn, newColumn string) error
- func (t *TablesTools) RenameIndex(oldColumn, newColumn string) error
- func (t *TablesTools) RenameTable(newTabName string) error
- func (t *TablesTools) Select(DB *gorm.DB) (*RawInfo, error)
- func (t *TablesTools) TruncateTable() error
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".
Types ¶
type ColumnTypeInfo ¶
type MySqlDB ¶
MySqlDB ...
func OnInitDBOrm ¶
func OnInitDBOrm(dataSourceName string, maxIdleConns, maxOpenConns int, ignoreRecordNotFoundError bool) (orm *MySqlDB)
OnInitDBOrm init MySqlDB
func (*MySqlDB) OnGetDBOrm ¶
func (i *MySqlDB) OnGetDBOrm(dataSourceName string, maxIdleConns, maxOpenConns int, ignoreRecordNotFoundError bool) *gorm.DB
OnGetDBOrm get gorm.db
func (*MySqlDB) RecordNotFound ¶
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 (*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) GetTables ¶
func (t *TablesTools) GetTables() (tableList []string, err error)
GetTables 获取所有表名
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 重命名表
Click to show internal directories.
Click to hide internal directories.