|
|
|
package cnf
|
|
|
|
|
|
|
|
// EImportsHead imports head options. import包含选项
|
|
|
|
var EImportsHead = map[string]string{
|
|
|
|
"stirng": `"string"`,
|
|
|
|
"time.Time": `"time"`,
|
|
|
|
"gorm.Model": `"gorm.io/gorm"`,
|
|
|
|
"fmt": `"fmt"`,
|
|
|
|
"datatypes.JSON": `"gorm.io/datatypes"`,
|
|
|
|
"datatypes.Date": `"gorm.io/datatypes"`,
|
|
|
|
}
|
|
|
|
|
|
|
|
// TypeMysqlDicMp Accurate matching type.精确匹配类型
|
|
|
|
var TypeMysqlDicMp = map[string]string{
|
|
|
|
"smallint": "int16",
|
|
|
|
"smallint unsigned": "uint16",
|
|
|
|
"int": "int",
|
|
|
|
"int unsigned": "uint",
|
|
|
|
"bigint": "int64",
|
|
|
|
"bigint unsigned": "uint64",
|
|
|
|
"mediumint": "int32",
|
|
|
|
"mediumint unsigned": "uint32",
|
|
|
|
"varchar": "string",
|
|
|
|
"char": "string",
|
|
|
|
"date": "datatypes.Date",
|
|
|
|
"datetime": "time.Time",
|
|
|
|
"bit(1)": "[]uint8",
|
|
|
|
"tinyint": "int8",
|
|
|
|
"tinyint unsigned": "uint8",
|
|
|
|
"tinyint(1)": "bool", // tinyint(1) 默认设置成bool
|
|
|
|
"tinyint(1) unsigned": "bool", // tinyint(1) 默认设置成bool
|
|
|
|
"json": "datatypes.JSON",
|
|
|
|
"text": "string",
|
|
|
|
"timestamp": "time.Time",
|
|
|
|
"double": "float64",
|
|
|
|
"double unsigned": "float64",
|
|
|
|
"mediumtext": "string",
|
|
|
|
"longtext": "string",
|
|
|
|
"float": "float32",
|
|
|
|
"float unsigned": "float32",
|
|
|
|
"tinytext": "string",
|
|
|
|
"enum": "string",
|
|
|
|
"time": "time.Time",
|
|
|
|
"tinyblob": "[]byte",
|
|
|
|
"blob": "[]byte",
|
|
|
|
"mediumblob": "[]byte",
|
|
|
|
"longblob": "[]byte",
|
|
|
|
"integer": "int64",
|
|
|
|
"numeric": "int64",
|
|
|
|
"smalldatetime": "time.Time", //sqlserver
|
|
|
|
"nvarchar": "string",
|
|
|
|
"real": "float32",
|
|
|
|
"binary": "[]byte",
|
|
|
|
}
|
|
|
|
|
|
|
|
// TypeMysqlMatchList Fuzzy Matching Types.模糊匹配类型
|
|
|
|
var TypeMysqlMatchList = []struct {
|
|
|
|
Key string
|
|
|
|
Value string
|
|
|
|
}{
|
|
|
|
{`^(tinyint)[(]\d+[)] unsigned`, "uint8"},
|
|
|
|
{`^(smallint)[(]\d+[)] unsigned`, "uint16"},
|
|
|
|
{`^(int)[(]\d+[)] unsigned`, "uint32"},
|
|
|
|
{`^(bigint)[(]\d+[)] unsigned`, "uint64"},
|
|
|
|
{`^(float)[(]\d+,\d+[)] unsigned`, "float64"},
|
|
|
|
{`^(double)[(]\d+,\d+[)] unsigned`, "float64"},
|
|
|
|
{`^(tinyint)[(]\d+[)]`, "int8"},
|
|
|
|
{`^(smallint)[(]\d+[)]`, "int16"},
|
|
|
|
{`^(int)[(]\d+[)]`, "int"},
|
|
|
|
{`^(bigint)[(]\d+[)]`, "int64"},
|
|
|
|
{`^(char)[(]\d+[)]`, "string"},
|
|
|
|
{`^(enum)[(](.)+[)]`, "string"},
|
|
|
|
{`^(varchar)[(]\d+[)]`, "string"},
|
|
|
|
{`^(varbinary)[(]\d+[)]`, "[]byte"},
|
|
|
|
{`^(blob)[(]\d+[)]`, "[]byte"},
|
|
|
|
{`^(binary)[(]\d+[)]`, "[]byte"},
|
|
|
|
{`^(decimal)[(]\d+,\d+[)]`, "float64"},
|
|
|
|
{`^(mediumint)[(]\d+[)]`, "int16"},
|
|
|
|
{`^(mediumint)[(]\d+[)] unsigned`, "uint16"},
|
|
|
|
{`^(double)[(]\d+,\d+[)]`, "float64"},
|
|
|
|
{`^(float)[(]\d+,\d+[)]`, "float64"},
|
|
|
|
{`^(datetime)[(]\d+[)]`, "time.Time"},
|
|
|
|
{`^(bit)[(]\d+[)]`, "[]uint8"},
|
|
|
|
{`^(text)[(]\d+[)]`, "string"},
|
|
|
|
{`^(integer)[(]\d+[)]`, "int"},
|
|
|
|
{`^(timestamp)[(]\d+[)]`, "time.Time"},
|
|
|
|
{`^(geometry)[(]\d+[)]`, "[]byte"},
|
|
|
|
}
|