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 友好的数据库文档化工具的更多相关文章

  1. 【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  2. 【C#附源码】数据库文档生成工具支持(Excel+Htm)

    数据库文档生成工具是用C#开发的基于NPOI组件的小工具.软件源码大小不到10MB.支持生成Excel 和Html 两种文档形式.了解更多,请访问:http://www.oschina.net/cod ...

  3. 基于Mybatis的Mysql数据库文档生成工具,支持生成docx(原创)

    今天不写android--也写写数据库相关的东西 -------------------- 今日老夫闲来无事,设计了一款数据库文档生成工具 眼下仅仅支持mysql 主要是生成docx的 下载链接:下载 ...

  4. DBCHM -最简单、最实用的数据库文档生成工具

    项目介绍 DBCHM 是一款数据库文档生成工具! 该工具从最初支持chm文档格式开始,通过开源,集思广益,不断改进,又陆续支持word.excel.pdf.html.xml.markdown等文档格式 ...

  5. 基于WPF重复造轮子,写一款数据库文档管理工具(一)

    项目背景 公司业务历史悠久且复杂,数据库的表更是多而繁杂,每次基于老业务做功能开发都需要去翻以前的表和业务代码.需要理解旧的表的用途以及包含的字段的含义,表少还好说,但是表一多这就很浪费时间,而且留下 ...

  6. 如何基于WPF写一款数据库文档管理工具(二)

    系列目录 基于WPF重复造轮子,写一款数据库文档管理工具(一) 本篇重点 上次发表了基于WPF重复造轮子,写一款数据库文档管理工具(一) 得到不少人支持,文章一度上到了博客园推荐表首页,看来大家对这个 ...

  7. 数据库文档生成工具——word2chm,SqlSpec

    首先使用代码生成器可以生成word版本的数据库文档. 转成chm格式的更加小巧和方便~ SqlSpec是个好工具,可以生成所有数据库相关的信息 之后可以一键生成chm文档.

  8. 使用 Swagger 文档化和定义 RESTful API

    大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Services Descript ...

  9. 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码

    在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...

随机推荐

  1. HTML5+规范:Geolocation(管理设备位置信息) 定位

    Geolocation模块管理设备位置信息,用于获取地理位置信息,如经度.纬度等.通过plus.geolocation可获取设备位置管理对象.虽然W3C已经提供标准API获取位置信息,但在某些平台存在 ...

  2. Python进阶(十五)----面向对象之~继承(单继承,多继承MRO算法)

    Python进阶(十五)----面向对象之~继承 一丶面向对象的三大特性:封装,继承,多态 二丶什么是继承 # 什么是继承 # b 继承 a ,b是a的子类 派生类 , a是b的超类 基类 父类 # ...

  3. 2019-07-22 phpStudy配置虚拟主机

    1.右击 phpStudy ->[打开配置文件]->[vhosts-conf]: 2.在里面加入如下代码,并保存: NameVirtualHost *:80 <VirtualHost ...

  4. Vue学习之Webpack基本使用小结(十三)

    一.新建dist 文件夹: 二.新建src文件夹: 在其下面创建 css .js .images文件夹及 index.html.main.js(这是项目Js的主入口) 三.html中简单创建一个列表: ...

  5. (摘录笔记)JAVA学习笔记SSH整合搭建项目

    1:当然是导jar包啦: struts2: spring: hibernate: 至于这些jar包是什么作用,我想就不必我解释了,大家都懂得,ssh2基本的jar包: 还有一些其他jar包:strut ...

  6. selenium安装并导入pycharm

    selenium安装 1.python的pip安装,命令pip install selenium 2.检查是否成功安装 打开pycharm-->File-->Settings-->P ...

  7. Java开发环境之MySql

    查看更多Java开发环境配置,请点击<Java开发环境配置大全> 叁章:MySql安装教程 1)去官网下载MySql安装包 https://www.mysql.com/downloads/ ...

  8. Linux LVM 逻辑卷管理

    使用Linux好久了,一定会意识到一个问题,某个分区容量不够用了,想要扩容怎么办?这里就涉及到LVM逻辑卷的管理了,可以动态调整Linux分区容量. LVM 概述 全称Logical Volume M ...

  9. 嵌入式Linux框架的理解

    从事嵌入式linux工作也几年了,如果算上大学期间的自学,那么也算是个工程师了.期间写过底层bootloader.内核的驱动和上层应用程序.对于芯片内部的模块也在大学时候用fpga的verilog玩过 ...

  10. vue 中 axios 使用

    前言 在对接接口的时候时常会有传参问题调调试试很多,是 JSON.From Data还是 URL 传参,没有搞清楚就浪费很多时间. 本文中就结合 axios 来说明这些的区别,以便在以后工作更好对接. ...