mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 16:30:25 +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
							 | 
						|||
| 
								 | 
							
								}
							 |