建議beego的ORM,可以實現表欄位註釋的新增
該問題我已經在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
相關文章
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- 【Golang】基於beego/orm實現相同表結構不同表名的分表方法實現GolangORM
- MySQL如何檢視新增修改表以及欄位註釋資訊MySql
- Oracle 增加修改刪除欄位與新增註釋Oracle
- 新增一列並增加列欄位註釋
- SQL Server 查詢表註釋和欄位SQLServer
- 給mybatis新增自動建表,自動加欄位的功能MyBatis
- IDEA外掛實現根據欄位註釋生成getter/setter方法Javadoc註釋IdeaJava
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- Go實戰專案-Beego的orm的基本使用GoORM
- mysql建立表的時候對欄位和表新增COMMENTMySql
- beego ORM 建立模型,生成表。遇到的一些坑。GoORM模型
- beego orm使用GoORM
- Oracle-欄位的新增Oracle
- JSON欄位型別在ORM中的使用JSON型別ORM
- Mysql資料庫建立儲存過程實現往資料表中新增欄位的方法MySql資料庫儲存過程
- beego orm中時區的問題GoORM
- beego的ORM-配置資料庫GoORM資料庫
- postgresql單個表可以有多少欄位SQL
- 實現註解校驗Dto欄位是否為空
- MySql給表新增列和註釋MySql
- fastadmin 新增欄位記圖片欄位AST
- Maven外掛mybatis-generator,如何讓生成的PO類的field上有對應表欄位的註釋MavenMyBatis
- 求救Beego大神們,Beego orm 怎麼限制Relation裡返回的Variable?GoORM
- 在 SQL Server 中,建立表時可以直接為欄位新增唯一約束(UNIQUE)SQLServer
- MyBatis實現MySQL表欄位及結構的自動增刪MyBatisMySql
- odoo ORM研究3 - odoo fields常用的欄位屬性OdooORM
- KEIL——新增自己的註釋模板
- beego自動建表失敗Go
- 小技巧 EntityFrameworkCore 實現 CodeFirst 透過模型生成資料庫表時自動攜帶模型及欄位註釋資訊Framework模型資料庫
- 用 Laravel 遷移檔案新增表註釋的一種方法Laravel
- Django-ORM 之指定欄位別名DjangoORM
- Django之ORM常用欄位和引數DjangoORM
- Laravel 資料遷移給表新增註釋Laravel
- Spring中為什麼不建議使用欄位注入Spring
- MySQL 更新一個表裡的欄位等於另一個表某欄位的值MySql
- jpa~為欄位新增insert的預設值
- IDEA新增註釋Idea