|
@@ -77,6 +77,7 @@ var commonMysqlDataTypeMapString = map[string]string{
|
|
|
// For consistency, all integer types are converted to int64
|
|
|
// bool
|
|
|
"bool": "bool",
|
|
|
+ "_bool": "pq.BoolArray",
|
|
|
"boolean": "bool",
|
|
|
// number
|
|
|
"tinyint": "int64",
|
|
@@ -85,14 +86,20 @@ var commonMysqlDataTypeMapString = map[string]string{
|
|
|
"int": "int64",
|
|
|
"int1": "int64",
|
|
|
"int2": "int64",
|
|
|
+ "_int2": "pq.Int64Array",
|
|
|
"int3": "int64",
|
|
|
"int4": "int64",
|
|
|
+ "_int4": "pq.Int64Array",
|
|
|
"int8": "int64",
|
|
|
+ "_int8": "pq.Int64Array",
|
|
|
"integer": "int64",
|
|
|
+ "_integer": "pq.Int64Array",
|
|
|
"bigint": "int64",
|
|
|
"float": "float64",
|
|
|
"float4": "float64",
|
|
|
+ "_float4": "pq.Float64Array",
|
|
|
"float8": "float64",
|
|
|
+ "_float8": "pq.Float64Array",
|
|
|
"double": "float64",
|
|
|
"decimal": "float64",
|
|
|
"dec": "float64",
|
|
@@ -111,14 +118,17 @@ var commonMysqlDataTypeMapString = map[string]string{
|
|
|
"nvarchar": "string",
|
|
|
"nchar": "string",
|
|
|
"char": "string",
|
|
|
+ "_char": "pq.StringArray",
|
|
|
"character": "string",
|
|
|
"varchar": "string",
|
|
|
+ "_varchar": "pq.StringArray",
|
|
|
"binary": "string",
|
|
|
"bytea": "string",
|
|
|
"longvarbinary": "string",
|
|
|
"varbinary": "string",
|
|
|
"tinytext": "string",
|
|
|
"text": "string",
|
|
|
+ "_text": "pq.StringArray",
|
|
|
"mediumtext": "string",
|
|
|
"longtext": "string",
|
|
|
"enum": "string",
|
|
@@ -129,6 +139,7 @@ var commonMysqlDataTypeMapString = map[string]string{
|
|
|
"longblob": "string",
|
|
|
"mediumblob": "string",
|
|
|
"tinyblob": "string",
|
|
|
+ "ltree": "[]byte",
|
|
|
}
|
|
|
|
|
|
// ConvertDataType converts mysql column type into golang type
|
|
@@ -148,6 +159,10 @@ func ConvertStringDataType(dataBaseType string, isDefaultNull, unsigned, strict
|
|
|
return "", fmt.Errorf("unsupported database type: %s", dataBaseType)
|
|
|
}
|
|
|
|
|
|
+ if strings.HasPrefix(dataBaseType, "_") {
|
|
|
+ return tp, nil
|
|
|
+ }
|
|
|
+
|
|
|
return mayConvertNullType(tp, isDefaultNull, unsigned, strict), nil
|
|
|
}
|
|
|
|