tbls ci 友好的数据库文档化工具
tbls 是用golang 编写的数据库文档化工具,当前支持的数据库有pg、mysql、bigquery
此工具同时提供了变更对比、lint 校验,生成是markdown格式的
简单使用
安装
mac 系统使用brew 安装
brew install k1LoW/tap/tbls
简单项目使用
- 数据库准备
pg 使用docker-compose 运行
version: "3"
services:
postgres:
image: postgres:9.6.11
ports:
- "5432:5432"
environment:
- "POSTGRES_PASSWORD:dalong"
- 创建.tbls.yml 文件
主要是配置数据库连接,以及生成文档的存储路径
# .tbls.yml
# DSN (Databaase Source Name) to connect database
dsn: postgres://postgres:dalong@localhost:5432/postgres?sslmode=disable
# Path to generate document
# Default is `dbdoc`
docPath: doc/schema
- 添加数据库
CREATE TABLE userlogins (
id SERIAL PRIMARY KEY,
username text
);
- diff 操作
tbls diff
diff postgres://postgres:*****@localhost:5432/postgres?sslmode=disable doc/schema/README.md
--- postgres://postgres:*****@localhost:5432/postgres?sslmode=disable
+++ doc/schema/README.md
@@ -4,7 +4,6 @@
| Name | Columns | Comment | Type |
| ---- | ------- | ------- | ---- |
-| [userlogins](userlogins.md) | 2 | | BASE TABLE |
---
diff postgres://postgres:*****@localhost:5432/postgres?sslmode=disable doc/schema/userlogins.md
--- postgres://postgres:*****@localhost:5432/postgres?sslmode=disable
+++ doc/schema/userlogins.md
@@ -1,27 +1 @@
-# userlogins
-## Description
-
-## Columns
-
-| Name | Type | Default | Nullable | Children | Parents | Comment |
-| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
-| id | integer | nextval('userlogins_id_seq'::regclass) | false | | | |
-| username | text | | true | | | |
-
-## Constraints
-
-| Name | Type | Definition |
-| ---- | ---- | ---------- |
-| userlogins_pkey | PRIMARY KEY | PRIMARY KEY (id) |
-
-## Indexes
-
-| Name | Definition |
-| ---- | ---------- |
-| userlogins_pkey | CREATE UNIQUE INDEX userlogins_pkey ON public.userlogins USING btree (id) |
-
----
-
-> Generated by [tbls](https://github.com/k1LoW/tbls)
- 生成doc
tbls doc
- 效果
doc/schema/README.md
doc/schema/userlogins.md
内容信息
README.md
# postgres
## Tables
| Name | Columns | Comment | Type |
| ---- | ------- | ------- | ---- |
| [userlogins](userlogins.md) | 2 | | BASE TABLE |
---
> Generated by [tbls](https://github.com/k1LoW/tbls)
userlogins.md
# userlogins
## Description
## Columns
| Name | Type | Default | Nullable | Children | Parents | Comment |
| ---- | ---- | ------- | -------- | -------- | ------- | ------- |
| id | integer | nextval('userlogins_id_seq'::regclass) | false | | | |
| username | text | | true | | | |
## Constraints
| Name | Type | Definition |
| ---- | ---- | ---------- |
| userlogins_pkey | PRIMARY KEY | PRIMARY KEY (id) |
## Indexes
| Name | Definition |
| ---- | ---------- |
| userlogins_pkey | CREATE UNIQUE INDEX userlogins_pkey ON public.userlogins USING btree (id) |
---
> Generated by [tbls](https://github.com/k1LoW/tbls)
- UI 效果


说明
tbls 做为数据库diff 以及自动文档生成还是很很不错的工具,同时对于ci也是比较友好的
参考资料
https://github.com/rongfengliang/tbls-pg-demo
https://github.com/k1LoW/tbls#support-database
tbls ci 友好的数据库文档化工具的更多相关文章
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
- 【C#附源码】数据库文档生成工具支持(Excel+Htm)
数据库文档生成工具是用C#开发的基于NPOI组件的小工具.软件源码大小不到10MB.支持生成Excel 和Html 两种文档形式.了解更多,请访问:http://www.oschina.net/cod ...
- 基于Mybatis的Mysql数据库文档生成工具,支持生成docx(原创)
今天不写android--也写写数据库相关的东西 -------------------- 今日老夫闲来无事,设计了一款数据库文档生成工具 眼下仅仅支持mysql 主要是生成docx的 下载链接:下载 ...
- DBCHM -最简单、最实用的数据库文档生成工具
项目介绍 DBCHM 是一款数据库文档生成工具! 该工具从最初支持chm文档格式开始,通过开源,集思广益,不断改进,又陆续支持word.excel.pdf.html.xml.markdown等文档格式 ...
- 基于WPF重复造轮子,写一款数据库文档管理工具(一)
项目背景 公司业务历史悠久且复杂,数据库的表更是多而繁杂,每次基于老业务做功能开发都需要去翻以前的表和业务代码.需要理解旧的表的用途以及包含的字段的含义,表少还好说,但是表一多这就很浪费时间,而且留下 ...
- 如何基于WPF写一款数据库文档管理工具(二)
系列目录 基于WPF重复造轮子,写一款数据库文档管理工具(一) 本篇重点 上次发表了基于WPF重复造轮子,写一款数据库文档管理工具(一) 得到不少人支持,文章一度上到了博客园推荐表首页,看来大家对这个 ...
- 数据库文档生成工具——word2chm,SqlSpec
首先使用代码生成器可以生成word版本的数据库文档. 转成chm格式的更加小巧和方便~ SqlSpec是个好工具,可以生成所有数据库相关的信息 之后可以一键生成chm文档.
- 使用 Swagger 文档化和定义 RESTful API
大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Services Descript ...
- 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码
在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...
随机推荐
- mysql 删除表中多余的重复记录
=============================================== 2019/7/16_第1次修改 ccb_warlock == ...
- java Unicode和UTF-8之间转换
utf-8转unicode public static String utf8ToUnicode(String inStr) { char[] myBuffer = inStr.toCharArray ...
- vs配置opencv(只需一次)
一.配置环境变量(bin) 二.配置属性表 1.配置包含(include)目录 2.配置库(lib)目录 3.配置依赖项(.lib)
- 有关ajax跨域问题
写在前面 JQuery ajax支持get方式的跨域,采用了jsonp来完成.完成跨域请求的有两种方式实现.一种是使用Jquery ajax最底层的Api实现跨域的请求,而另一种则是JQuery aj ...
- java之mybatis之查询及分页
1.mybatis中查询方式有3种 //查询单个值 @Test public void testFindOne()throws IOException{ SqlSession session = My ...
- Docker/Dockerfile debug调试技巧
『重用』容器名 但我们在编写/调试Dockerfile的时候我们经常会重复之前的command,比如这种docker run --name jstorm-zookeeper zookeeper:3.4 ...
- python基础知识(七)---数据类型补充、"雷区"、编码
数据类型补充."雷区".编码 1.数据类型补充 str: #字符串数据类型补充 s1=str(123) #常用于类型转换 print(s1) #capitalize()首字母大写 ...
- 如何理解Android中的xmlns
转发自:https://www.jianshu.com/p/6fcaffaeffd2 作为一名 Android 开发,我想大家对xmlns并不会陌生,因为在写布局文件(如下代码所示)的时候经常会碰到, ...
- spring中bean的作用域属性singleton与prototype的区别
1.singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会 ...
- k8s维护常用命令
k8s维护 1. 不可调度 kubectl cordon k8s-node-1 kubectl uncordon k8s-node-1 #取消 2.驱逐已经运行的业务容器 kubectl drain ...