beedoc icon indicating copy to clipboard operation
beedoc copied to clipboard

mysql 模型字段与数据库类型struct->json类型的支持

Open yydsqu opened this issue 4 years ago • 6 comments

mysql 模型字段与数据库类型struct->json类型的支持

yydsqu avatar Mar 02 '21 02:03 yydsqu

什么意思?

flycash avatar Mar 02 '21 10:03 flycash

什么意思?

mysql json 类型映射的时候不支持通过bee generate自动化的生成代码,现在改修的项目有大量的json类型 Name string orm:"type(json);size(1024)"也有问题,可不可支持mysql 的json类型的对应,可以修改成对应map类型或者自定义struct

yydsqu avatar Mar 03 '21 00:03 yydsqu

哦哦,你是指字段里面存储JSON字符串是吧?这是计划中的事情,之前有一个外国开发来了一个PR,不过无法通过UT,还有很多问题,后面他就自己关了。

你可以自己定义Fielder来扩展。不过目测有点难度……

flycash avatar Mar 03 '21 14:03 flycash

等我这段时间加完班腾出手来搞搞

flycash avatar Mar 03 '21 14:03 flycash

测试model

type GoodsImages []string
func (e *GoodsImages) FieldType() int {
  return orm.TypeJSONField
}
type Skus struct {
  GoodsImages GoodsImages `orm:"type(json);description(商品图片)"`
}

mysql 自动创建表时生成的mysql语法:goods_images varchar(255) NOT NULL DEFAULT '{}' mysql 自动转换成varchar类型,mysql的json类型默认值只能为null

yydsqu avatar Mar 10 '21 09:03 yydsqu

要等等等一会了……最近巨忙……

flycash avatar Mar 14 '21 14:03 flycash