Files
mayfly-go/server/internal/db/dbm/mysql/transfer.go
meilin.huang e56788af3e refactor: dbm
2024-12-08 13:04:23 +08:00

109 lines
2.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package mysql
import "mayfly-go/internal/db/dbm/dbi"
var _ dbi.CommonTypeConverter = (*commonTypeConverter)(nil)
type commonTypeConverter struct {
}
func (c *commonTypeConverter) Varchar(col *dbi.Column) *dbi.DbDataType {
// 如果字符长度大于16383则转为text类型
if col.CharMaxLength > 16383 {
col.CharMaxLength = 0
return Text
}
return Varchar
}
func (c *commonTypeConverter) Char(col *dbi.Column) *dbi.DbDataType {
return Char
}
func (c *commonTypeConverter) Text(col *dbi.Column) *dbi.DbDataType {
col.CharMaxLength = 0
col.NumPrecision = 0
return Text
}
func (c *commonTypeConverter) Mediumtext(col *dbi.Column) *dbi.DbDataType {
col.CharMaxLength = 0
col.NumPrecision = 0
return Mediumtext
}
func (c *commonTypeConverter) Longtext(col *dbi.Column) *dbi.DbDataType {
col.CharMaxLength = 0
col.NumPrecision = 0
return Longtext
}
func (c *commonTypeConverter) Bit(col *dbi.Column) *dbi.DbDataType {
return Bit
}
func (c *commonTypeConverter) Int1(col *dbi.Column) *dbi.DbDataType {
return Tinyint
}
func (c *commonTypeConverter) Int2(col *dbi.Column) *dbi.DbDataType {
return Smallint
}
func (c *commonTypeConverter) Int4(col *dbi.Column) *dbi.DbDataType {
return Int
}
func (c *commonTypeConverter) Int8(col *dbi.Column) *dbi.DbDataType {
return Bigint
}
func (c *commonTypeConverter) Numeric(col *dbi.Column) *dbi.DbDataType {
return Double
}
func (c *commonTypeConverter) Decimal(col *dbi.Column) *dbi.DbDataType {
return Decimal
}
func (c *commonTypeConverter) UnsignedInt8(col *dbi.Column) *dbi.DbDataType {
return UnsignedBigint
}
func (c *commonTypeConverter) UnsignedInt4(col *dbi.Column) *dbi.DbDataType {
return UnsignedInt
}
func (c *commonTypeConverter) UnsignedInt2(col *dbi.Column) *dbi.DbDataType {
return UnsignedMediumint
}
func (c *commonTypeConverter) UnsignedInt1(col *dbi.Column) *dbi.DbDataType {
return UnsignedSmallint
}
func (c *commonTypeConverter) Date(col *dbi.Column) *dbi.DbDataType {
return Date
}
func (c *commonTypeConverter) Time(col *dbi.Column) *dbi.DbDataType {
return Time
}
func (c *commonTypeConverter) Datetime(col *dbi.Column) *dbi.DbDataType {
return Datetime
}
func (c *commonTypeConverter) Timestamp(col *dbi.Column) *dbi.DbDataType {
return Timestamp
}
func (c *commonTypeConverter) Binary(col *dbi.Column) *dbi.DbDataType {
return Binary
}
func (c *commonTypeConverter) Varbinary(col *dbi.Column) *dbi.DbDataType {
return Varbinary
}
func (c *commonTypeConverter) Mediumblob(col *dbi.Column) *dbi.DbDataType {
return Mediumblob
}
func (c *commonTypeConverter) Blob(col *dbi.Column) *dbi.DbDataType {
return Blob
}
func (c *commonTypeConverter) Longblob(col *dbi.Column) *dbi.DbDataType {
return Longblob
}
func (c *commonTypeConverter) Enum(col *dbi.Column) *dbi.DbDataType {
return Enum
}
func (c *commonTypeConverter) JSON(col *dbi.Column) *dbi.DbDataType {
return JSON
}