当前位置: 首页 > news >正文

做外卖网站平台交易

做外卖网站,平台交易,企业邮箱什么样子,网站建设开发管理 总结前言 通常业务系统开发中,数据库的设计与维护是至关重要的环节。而数据库的文档化则是确保团队成员之间有效沟通、快速理解系统架构的基础。 但目前数据文档都是手动写的,耗时费力,由于当前项目使用的是 mysql 作为存储引擎,找找…

前言

通常业务系统开发中,数据库的设计与维护是至关重要的环节。而数据库的文档化则是确保团队成员之间有效沟通、快速理解系统架构的基础。

但目前数据文档都是手动写的,耗时费力,由于当前项目使用的是 mysql 作为存储引擎,找找看有没有比较好用的工具,发现了一个比较契合的 mysql_markdown。

mysql_markdown 的使用

可以直接上 GitHub 上下载源码,自行编译。

快速使用

# 帮助
➜  mysql_markdown -h
flag needs an argument: -h
Usage: mysql_markdown [options...]
--help  This help text
-h      host.     default 127.0.0.1
-u      username. default root
-p      password. default root
-d      database. default mysql
-P      port.     default 3306
-c      charset.  default utf8
-o      output.   default current location
-t      tables.   default all table and support ',' separator for filter, every item can use regexp
-l      language. default cn,support: cn,en# 使用
➜ mysql_markdown -p 123456 -d test
connecting to MySQL to export markdown document file.100% |█████████████████████████████████████████████████████████████████████████████████████| (1/1, 394 it/s)
convert to document finished in test_20241122_103043.md

go gorm 生成表/字段描述

使用过 gorm 的,对于生成数据库字段描述应该不陌生,只需要在对应的结构体上添加 tag 即可,如下:

type User struct {Name string `gorm:"comment:姓名"`Age  int    `gorm:"comment:年龄"`
}

生成表的描述信息,注意:gorm 没有提供类似 TableName 设置表名的方式来设置描述,得用 gorm:table_options 来设置,如果不是新建的表,这种设置方式也不能生效。

db.Set("gorm:table_options", "COMMENT '用户表'").AutoMigrate(&User{})

实际例子

package mainimport ("gorm.io/driver/mysql""gorm.io/gorm""gorm.io/gorm/logger""log""os"
)type User struct {Name string `gorm:"comment:姓名"`Age  int    `gorm:"comment:年龄"`
}func (User) TableName() string {return "user"
}func getLocalTestDb() (db *gorm.DB, err error) {newLogger := logger.New(log.New(os.Stderr, "\r\n", log.LstdFlags), logger.Config{LogLevel:                  logger.Info,IgnoreRecordNotFoundError: true,Colorful:                  true,})db, err = gorm.Open(mysql.New(mysql.Config{DSN: "root:123456@tcp(127.0.0.1:3306)/test",}), &gorm.Config{Logger: newLogger, CreateBatchSize: 1000})return
}func main() {db, err := getLocalTestDb()if err != nil {log.Fatal(err)}db = db.Debug()// gorm:table_options 会在创建 table 的语句后添加相关的语句,不是新建的表不能生效err = db.Set("gorm:table_options", "COMMENT '用户表'").AutoMigrate(&User{})if err != nil {log.Fatal(err)}log.Println("OK")
}

程序输出

2024/11/22 10:23:08 main.go:41
[0.000ms] [rows:-] SELECT DATABASE()2024/11/22 10:23:08 main.go:41
[5.769ms] [rows:1] SELECT SCHEMA_NAME from Information_schema.SCHEMATA where SCHEMA_NAME LIKE 'test%' ORDER BY SCHEMA_NAME='test' DESC,SCHEMA_NAME limit 12024/11/22 10:23:08 main.go:41
[2.575ms] [rows:-] SELECT count(*) FROM information_schema.tables WHERE table_schema = 'test' AND table_name = 'user' AND table_type = 'BASE TABLE'2024/11/22 10:23:09 main.go:41
[49.289ms] [rows:0] CREATE TABLE `user` (`name` longtext COMMENT '姓名',`age` bigint COMMENT '年龄')COMMENT '用户表'
2024/11/22 10:23:09 OK

使用 mysql_markdown 工具导出 md 文档

mysql_markdown -p 123456 -d test

可见文档内容如下:

## test tables message
#### 1、 user
用户表| 序号 | 名称 | 描述 | 类型 || 为空 | 额外 | 默认值 |
| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: |
| 1 | `name` | 姓名 | longtext |  | YES |  |  |
| 2 | `age` | 年龄 | bigint |  | YES |  |  |

参考

  • mysql_markdown
http://www.yayakq.cn/news/460157/

相关文章:

  • 企业网站建设方案范文济南网站制作*推搜点
  • 厦门做英文网站服务器上如何建设多个网站
  • 大专学网站开发网站竞价开户
  • 企业网站建设机构免费可用的网站源码
  • 网站有备案号吗中文搜索引擎网站
  • 上海医院设计网站建设wordpress首页调用短代码
  • 成都三网合一网站建设外卖网站建设方案书
  • 外网专门做钙片的网站wordpress装修主题
  • 汽车网站页面设计wordpress 图片 视频
  • 国外做内容网站深圳平湖做网站
  • 安康哪里做网站南沙网站建设wwiw
  • 网站更换域名 seo网站首页图片代码
  • 如何看网站排名安庆市住房和建设厅网站首页
  • 织梦网站密码忘记了正规网站建设推荐
  • 育儿哪个网站做的好wordpress怎么加插件下载
  • 电子商务网站建设干货平面设计接单软件
  • 北京网站建设公司案例哪些网站可以做免费广告推广
  • 网站搜索优化公司禅城专业网站建设公司
  • 俄语购物网站建设提供网站建设的公司
  • 淘宝客不建立网站怎么做行业协会网站建设方案
  • 天津外贸营销型网站建设公司运营一般一个月多少钱
  • 计算机 网站开发 文章小程序企业网站开发
  • 白城网站建设公司最近广告公司
  • 云南建设注册考试中心网站app京东商城网页设计分析
  • 时间轴网站设计小说网站的里面的搜索是怎么做的
  • 企业网站建立的目的东莞龙岗网站建设
  • 山河建设有限公司网站网站系统平台的安全策略是什么
  • 青岛建网站哪个好门户资源分享网站模板
  • 无锡做网站专业的公司中国网站虚拟主机 排名
  • 专业做医药招聘的网站国外设计网站pinterest设计网址