建議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
相關文章
- Oracle中檢視所有表和欄位以及表註釋.欄位註釋Oracle
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- MySQL-新增列,新增或修改欄位的註釋MySql
- beego的orm針對postgresql的jsonb欄位的查詢GoORMSQLJSON
- oracle檢視該使用者的所有表名字、表註釋、欄位名、欄位註釋、是否為空、欄位型別Oracle型別
- MySQL如何檢視新增修改表以及欄位註釋資訊MySql
- sqlserver新增查詢 表、欄位註釋,組合查詢所有的使用者、表名、表註釋SQLServer
- 【Golang】基於beego/orm實現相同表結構不同表名的分表方法實現GolangORM
- 匯出Oracle中的所有表和欄位的註釋Oracle
- Oracle 增加修改刪除欄位與新增註釋Oracle
- SQL Server 查詢表註釋和欄位SQLServer
- Oracle-給表增加欄位和註釋Oracle
- SQL新增表欄位SQL
- Oracle 檢視 表屬性 :“表名(註釋)/列名(註釋)/欄位是否NULL”OracleNull
- 給mybatis新增自動建表,自動加欄位的功能MyBatis
- pl/sql dev建表加欄位時建的欄位名都帶了“”SQLdev
- IDEA外掛實現根據欄位註釋生成getter/setter方法Javadoc註釋IdeaJava
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- Go實戰專案-Beego的orm的基本使用GoORM
- TCP/IP header欄位註釋TCPHeader
- beego orm使用GoORM
- beego ORM 建立模型,生成表。遇到的一些坑。GoORM模型
- Oracle-欄位的新增Oracle
- MySQL-修改欄位型別、設定預設值,以及新增註釋MySql型別
- mysql建立表的時候對欄位和表新增COMMENTMySql
- beego orm中時區的問題GoORM
- sql server如何檢視欄位註釋?SQLServer
- postgresql單個表可以有多少欄位SQL
- 巧用欄位對映實現指定欄位的搜尋
- Mysql資料庫建立儲存過程實現往資料表中新增欄位的方法MySql資料庫儲存過程
- mysql 用sql語句查詢一個表中的所有欄位型別、註釋MySql型別
- 實現註解校驗Dto欄位是否為空
- beego的ORM-配置資料庫GoORM資料庫
- MySql給表新增列和註釋MySql
- JSON欄位型別在ORM中的使用JSON型別ORM
- oracle大表新增欄位default經驗分享Oracle
- 在 SQL Server 中,建立表時可以直接為欄位新增唯一約束(UNIQUE)SQLServer
- 動態為10g資料庫的表新增欄位,到256個欄位,hung住了?資料庫