* fix #1376

* fix #1376

Co-authored-by: anqiansong <anqiansong@bytedance.com>
This commit is contained in:
anqiansong
2021-12-28 16:40:26 +08:00
committed by GitHub
parent 78ba00d3a7
commit 49bab23c54

View File

@@ -10,8 +10,7 @@ import (
var commonMysqlDataTypeMapInt = map[int]string{ var commonMysqlDataTypeMapInt = map[int]string{
// For consistency, all integer types are converted to int64 // For consistency, all integer types are converted to int64
// number // number
parser.Bool: "int64", parser.Bit: "byte",
parser.Boolean: "int64",
parser.TinyInt: "int64", parser.TinyInt: "int64",
parser.SmallInt: "int64", parser.SmallInt: "int64",
parser.MediumInt: "int64", parser.MediumInt: "int64",
@@ -29,6 +28,10 @@ var commonMysqlDataTypeMapInt = map[int]string{
parser.Float8: "float64", parser.Float8: "float64",
parser.Double: "float64", parser.Double: "float64",
parser.Decimal: "float64", parser.Decimal: "float64",
parser.Dec: "float64",
parser.Fixed: "float64",
parser.Numeric: "float64",
parser.Real: "float64",
// date&time // date&time
parser.Date: "time.Time", parser.Date: "time.Time",
parser.DateTime: "time.Time", parser.DateTime: "time.Time",
@@ -36,37 +39,58 @@ var commonMysqlDataTypeMapInt = map[int]string{
parser.Time: "string", parser.Time: "string",
parser.Year: "int64", parser.Year: "int64",
// string // string
parser.Char: "string", parser.Char: "string",
parser.VarChar: "string", parser.VarChar: "string",
parser.Binary: "string", parser.NVarChar: "string",
parser.VarBinary: "string", parser.NChar: "string",
parser.TinyText: "string", parser.Character: "string",
parser.Text: "string", parser.LongVarChar: "string",
parser.MediumText: "string", parser.LineString: "string",
parser.LongText: "string", parser.MultiLineString: "string",
parser.Enum: "string", parser.Binary: "string",
parser.Set: "string", parser.VarBinary: "string",
parser.Json: "string", parser.TinyText: "string",
parser.Blob: "string", parser.Text: "string",
parser.LongBlob: "string", parser.MediumText: "string",
parser.MediumBlob: "string", parser.LongText: "string",
parser.TinyBlob: "string", parser.Enum: "string",
parser.Set: "string",
parser.Json: "string",
parser.Blob: "string",
parser.LongBlob: "string",
parser.MediumBlob: "string",
parser.TinyBlob: "string",
// bool
parser.Bool: "bool",
parser.Boolean: "bool",
} }
var commonMysqlDataTypeMapString = map[string]string{ var commonMysqlDataTypeMapString = map[string]string{
// For consistency, all integer types are converted to int64 // For consistency, all integer types are converted to int64
// bool
"bool": "bool",
"boolean": "bool",
// number // number
"bool": "int64",
"boolean": "int64",
"tinyint": "int64", "tinyint": "int64",
"smallint": "int64", "smallint": "int64",
"mediumint": "int64", "mediumint": "int64",
"int": "int64", "int": "int64",
"int1": "int64",
"int2": "int64",
"int3": "int64",
"int4": "int64",
"int8": "int64",
"integer": "int64", "integer": "int64",
"bigint": "int64", "bigint": "int64",
"float": "float64", "float": "float64",
"float4": "float64",
"float8": "float64",
"double": "float64", "double": "float64",
"decimal": "float64", "decimal": "float64",
"dec": "float64",
"fixed": "float64",
"real": "float64",
"bit": "byte",
// date & time // date & time
"date": "time.Time", "date": "time.Time",
"datetime": "time.Time", "datetime": "time.Time",
@@ -74,23 +98,29 @@ var commonMysqlDataTypeMapString = map[string]string{
"time": "string", "time": "string",
"year": "int64", "year": "int64",
// string // string
"char": "string", "linestring": "string",
"varchar": "string", "multilinestring": "string",
"binary": "string", "nvarchar": "string",
"bytea": "string", "nchar": "string",
"varbinary": "string", "char": "string",
"tinytext": "string", "character": "string",
"text": "string", "varchar": "string",
"mediumtext": "string", "binary": "string",
"longtext": "string", "bytea": "string",
"enum": "string", "longvarbinary": "string",
"set": "string", "varbinary": "string",
"json": "string", "tinytext": "string",
"jsonb": "string", "text": "string",
"blob": "string", "mediumtext": "string",
"longblob": "string", "longtext": "string",
"mediumblob": "string", "enum": "string",
"tinyblob": "string", "set": "string",
"json": "string",
"jsonb": "string",
"blob": "string",
"longblob": "string",
"mediumblob": "string",
"tinyblob": "string",
} }
// ConvertDataType converts mysql column type into golang type // ConvertDataType converts mysql column type into golang type