mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-02 23:40:24 +08:00
109 lines
2.8 KiB
Go
109 lines
2.8 KiB
Go
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
|
||
}
|