Skip to content

Konata9/mysql-doc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mysql-doc

一个基于Node.js,将MySQL的表结构、索引信息导出成为Excel文档的工具。

目的在于减少人工制作文档的时间成本,直接从数据库导成文档也保证了文档与代码是同步的(只要每次数据库变动后及时导出)。

当然,由于xlsx的局限性。生成出的excel是没有样式的。但相对于制表的成本,添加样式应该会相对少很多(我们还可以利用宏来帮忙)。

相关依赖库

  1. mysql 用于连接MySQL以及执行相关SQL语句
  2. xlsx 用于导出Excel
  3. async 用于执行批量操作

使用方法

  1. 下载本项目
npm install
  1. config目录下创建config.js并进行配置,主要是数据库连接以及输出目录的配置。可参考config-example.js

  2. 运行项目

npm run start

或项目目录下
 node index.js

生成文档预览

example

拓展

1. 输出信息的自定义

1.1 表头信息修改

目前版本中输出表头信息,可以在src/option.js中修改值。

option.jsCOLUMNSINDEX对应着MySQL的information_schema.COLUMNSinformation_schema.STATISTICS表。

key对应SELECT的字段,value对应抽出时的别名(AS ‘xxx'部分)。

1.2 抽出字段的修改

如果需要增加或删除抽出的字段,则需要修改src/option.js以及src/queryModel.js两个文件。

其中queryModel.js文件是执行过程中的SQL语句文件,通过调整SELECT语句来达到修改抽出字段的目的。

1.3 增加其他的表信息

根据现有需求,在目前版本中只抽出了表结构与表索引信息相关的内容。

当还需要增加其他信息时,则需要同时修改src/option.jssrc/queryModel.jssrc/mysql-doc.jssrc/excel-maker.js四个文件。

src/mysql-doc.js负责处理MySQL的操作逻辑;src/excel-maker.js主要负责excel文件的生成。根据不同的需求,需要增加对应的逻辑。

2. 输出表过程中的注意点

当在一个excel的worksheet中输出多个表格时,请保证每个表格的列数一致(可以在SELECT语句中用''来补全),来确保生成出的excel数据不会丢失。

About

使用Node.js将mysql中的表导出为Excel格式文档

Resources

Stars

Watchers

Forks

Packages

No packages published