Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
TruthHun opened this issue Jun 6, 2018 · 2 comments

Comments

Projects
None yet
2 participants
@TruthHun
Copy link

commented Jun 6, 2018

习惯使用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在维护数据库,那不是麻烦事。

@NSObjects

This comment has been minimized.

Copy link
Contributor

commented Jun 7, 2018

这个功能已经实现了, 暂时在develop分支, 可以关闭这个问题了。

@TruthHun

This comment has been minimized.

Copy link
Author

commented Jun 7, 2018

@NSObjects 好的,看到了。感觉用commentdescription好点。。不过既然merge了,实现了这个功能就好多了。

@TruthHun TruthHun closed this Jun 7, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.