Sql helpers just for mysql(5.7+)/postgres(10+) and mysql/postgres-compatibility db.
// @def primary ID// @def index I_nickname/BTREE Nickname// @def index I_username Username// @def index I_geom/SPATIAL Geom// @def unique_index I_name NametypeUserstruct {
IDuint64`db:"f_id,autoincrement"`// 姓名NameNeedToDropstring`db:"f_name_need_to_drop,deprecated"`OldNamestring`db:"f_old_name,deprecated=f_name"`Namestring`db:"f_name,default=''"`Usernamestring`db:"f_username,default=''"`Nicknamestring`db:"f_nickname,default=''"`GenderGender`db:"f_gender,default='0'"`Booleanbool`db:"f_boolean,default=false"`GeomGeomString`db:"f_geom"`CreatedAt datatypes.Timestamp`db:"f_created_at,default='0'"`UpdatedAt datatypes.Timestamp`db:"f_updated_at,default='0'"`Enabled datatypes.Bool`db:"f_enabled,default='0'"`
}
typeGeomStringstruct {
Vstring
}
func (gGeomString) Value() (driver.Value, error) {
returng.V, nil
}
func (g*GeomString) Scan(srcinterface{}) error {
returnnil
}
func (GeomString) DataType(driverNamestring) string {
ifdriverName=="mysql" {
return"geometry"
}
return"geometry(Point)"
}
func (GeomString) ValueEx() string {
return"ST_GeomFromText(?)"
}