mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20:25 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			110 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			110 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 {
 | 
						||
	col.CharMaxLength = 0
 | 
						||
	return Longblob
 | 
						||
}
 | 
						||
 | 
						||
func (c *commonTypeConverter) Enum(col *dbi.Column) *dbi.DbDataType {
 | 
						||
	return Enum
 | 
						||
}
 | 
						||
func (c *commonTypeConverter) JSON(col *dbi.Column) *dbi.DbDataType {
 | 
						||
	return JSON
 | 
						||
}
 |