Go与字段类型对应表

如果我们不使用 tag 来定义 field 对应的数据库字段类型,那么系统会自动给出一个默认的字段类型,对应表如下:

go类型 值方法 xorm类型
implemented Conversion Conversion.ToDB / Conversion.FromDB Text
int, int8, int16, int32, uint, uint8, uint16, uint32 Int
int64, uint64BigInt
float32Float
float64Double
complex64, complex128 json.Marshal / json.UnMarshal Varchar(64)
[]uint8Blob
array, slice, map except []uint8 json.Marshal / json.UnMarshal Text
bool1 or 0Bool
stringVarchar(255)
time.TimeDateTime
cascade structprimary key field valueBigInt
structjson.Marshal / json.UnMarshalText
Others Text

xorm 提供了一些动态获取和修改表结构的方法,通过这些方法可以动态同步数据库结构,导出数据库结构,导入数据库结构。如果您只是需要一个工具,可以直接使用go get github.com/go-xorm/cmd/xor ...