Beego 建议beego的ORM,可以实现表字段注释的添加

1272881215 · 2018年06月06日 · 最后由 jinheking 回复于 2019年05月16日 · 824 次阅读

该问题我已经在beego库提交 issues 了==> https://github.com/astaxie/beego/issues/3188


习惯使用 Beego 自带的 ORM,因为使用起来很方便,但是个人觉得纠结的是没法生成数据表的字段注释。 表字段注释很重要,DBA 在维护数据库的时候,就很容易知道表字段的含义,而 beego 的 orm 自动生成的数据表就没有表注释。 我们公司这边,因为使用 beego 自动生成的数据表字段没注释,要求添加表注释,目前很纠结。 比如我创建的管理员表,struct 如下:

//管理员表
type Admin struct {
    Id        int
    Username  string    `orm:"unique;size(50)"` //管理员用户名
    Name      string    `orm:"size(30)"`            //姓名
    Password  string    `orm:"size(32)"`                        //密码
    Email     string    `orm:"size(100);default()"`
    Mobile    string    `orm:"size(11);default()"` //手机号码
    Status    bool      `orm:"default(true)"`                    //管理员状态,false表示禁用
    CreatedAt time.Time //创建时间
    UpdatedAt time.Time //更新时间
}

我在开发代码的时候,我是可以知道表字段及其含义的,但是 DBA 在维护数据库的时候不知道啊,而且如果要到数据库找到这个字段,然后手动把注释添加上去,那就相当于同样的事情要做两遍。 beego 的 ORM 都能实现用default来设置字段的默认值,那干嘛不通过comment来实现表字段的注释呢? 比如上面创建管理员的 struct,我完全可以这样定义:

//管理员表
type Admin struct {
    Id        int
    Username  string    `orm:"unique;size(50);comment(管理员用户名)"`
    Name      string    `orm:"size(30);comment(姓名)"` 
    Password  string    `orm:"size(32);comment(密码)"`
    Email     string    `orm:"size(100);default();comment(管理员邮箱)"`
    Mobile    string    `orm:"size(11);default();comment(手机号码)"`
    Status    bool      `orm:"default(true);comment(管理员状态,false表示禁用)"` 
    CreatedAt time.Time `orm:"comment(创建时间)"`
    UpdatedAt time.Time  `orm:"comment(创建时间)"`
}

然后在自动建表的时候,带上comment里面的注释去生成数据表。 这样,不管是程序员在维护代码,还是 DBA 在维护数据库,那不是麻烦事。

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio

表字段注释这个需求,相信很多用 beego 做开发的都有这样的需求

我刚刚实现了添加注释功能,不过是通过 description 标签实现的, 因为 bee 工具自动生成文件时也用的这个标签。 https://github.com/NSObjects/beego

我也想要~但话说你为啥不去 github 上提 issue?

Your blog is really a good platform to get informative posts. It is really a helpful platform. If any one want a free membership of xbox live.you can visit here https://freexboxlive.xyz/ .it provide you free xbox codes. With the use of this codes you can enjoy xbox live as a free user.

description

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册