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代码
在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...
随机推荐
- RabbitMQ入门详解以及使用
目的: RabbitMQ简介 RabbitMQ安装及使用 Centos安装 Docker安装(今天选择Docker安装方法) RabbitMQ快速入门 交换机 RabbitMQ简介 各大主流中间件对比 ...
- C# vb .net实现宝丽来效果滤镜
在.net中,如何简单快捷地实现Photoshop滤镜组中的宝丽来效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一 ...
- SpringBoot中Logback日志的配置
说明 在SpringBoot中自带的日志工具是Logback,我们可以在Springboot的配置文件中直接对Logback进行一些简单的配置,如: logging.level.com.nowcode ...
- python-tyoira基本
目录 .Typora安装 我们在之前的时候记录笔记就是使用word和记事本,但是从今天开始我们要更换软件,记录笔记使用Typora软件,为什么要使用Typora的软件呢,是因为我们程序员不只是写代码这 ...
- 30个关于Shell脚本的经典案例(上)
对于初学者而言,因为没有实战经验,写不出来Shell脚本很正常,如果工作了几年的运维老年还是写不出来,那就是没主动找需求,缺乏练习,缺乏经验.针对以上问题,总结了30个生产环境中经典的Shell脚本, ...
- ubuntu16.04安装openssh中报错解决
在使用apt-get直接进行安装时会报错: sudo apt-get install openssh-server 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态 ...
- synchronized底层实现原理
基于进入和退出管程(Monitor)对象实现,无论显式(Monitorenter Monitorexit)还是隐式都是如此.同步方法并不是由monitorenter和monitorexit ...
- MSSQL镜像场景
1.版本:一般MSSQL2016以下版本使用. 2.适用小数据库容量的异地备份:如果是数据库容量较大,产生的日志比较多:经测试,9G的数据库大小,镜像数月个日志大小达到400G,硬盘开销太大.
- SQL进阶系列之11让SQL飞起来
写在前面 SQL的性能优化是数据库使用者必须面对的重要问题,本节侧重SQL写法上的优化,SQL的性能同时还受到具体数据库的功能特点影响,这些不在本节讨论范围之内 使用高效的查询 参数是子查询时,使用E ...
- Kotlin高阶函数与函数式编程详解
函数可变参数: 在上一次https://www.cnblogs.com/webor2006/p/11518425.html中学到了可变参考,关于可变参数有如下规则说明: “一个方法中,只允许一个参数为 ...