Erdia:Typeorm实体规范文档工具
#typescript #database #orm #documentation

介绍

我是使用node.js的开发人员,打字稿。实体规范文档和ER图对于后端开发很重要。 GUI工具会自动生成实体规范文档和ER图,但很难包括在CI中。因此,我开发了ERDIA,该ERDIA使用CLI接口生成实体规范文档和ER图。

在本文中,我将介绍如何使用Erdia及其使用结果。

一半

ERDIA是使用CLI接口生成实体规范文档和ER图的工具。它支持HTML,Markdown,PDF,SVG,PNG等格式。并可以集成到CI中。特别是,如果将输出格式设置为HTML文档,则直到在package.json版本字段或特定版本文件上生成每个版本的文档。我将其集成到我的CI中,并将其部署到AWS S3。这会提高生产率,因为它可以确保每个文献新鲜度。

typeorm

typeorm是流行的ORM工具之一。

Image description

上图是一个图表,比较了npmtrends.com的三个流行ORM工具。 Erdia目前仅支持Typeorm,但路线图也支持SequelizePrisma

入门

如果您有一个使用typeorm的项目,则可以立即应用Erdia。

npm i erdia --save-dev

然后,我建议运行初始化命令。

npx erdia init

初始化命令询问了一些有关运行ERDIA所需的问题,然后创建.erdiarc文件。现在是时候创建您的第一个文档了。

npx erdia build

如果您使用的是打字稿,请参阅“打字”部分。

格式

Erdia以HTML,Markdown,PDF和图像格式生成文档。每个文档具有以下特征。

html 降价 pdf 图像
实体规范 o o o x
是图表 o o o o
ETA模板 o o o x
实体版本管理 o x x x
SVG或PNG o x x o

Markdown,PDF,图像生成文档单版。但是HTML文档包含多个版本。

Image description

模板

Erdia使用ETA template engine生成文档。使用模板引擎的原因是,它允许您按照所需的方式自定义文档。如果要自定义Erdia生成运行以下命令的文档。

npx erdia eject

您可以在模板目录中找到默认模板。自定义您想要它。运行时,您需要按以下方式传递模板路径以生成修改的文档。

npx erdia build --template-path ./template

打字稿

如果您的Typeorm实体是用打字稿编写的,则必须使用ts-nodetsx进行ERDIA,如下所示。

TS_NODE_PROJECT="./tsconfig.json" node \
  -r ts-node/register \
  ./node_modules/erdia/dist/cli.js build -d [your dataSourcePath] --format html -o ./dist/html

如果您在项目中使用了re-map path,则必须将其传递给tsconfig-paths

TS_NODE_PROJECT="./tsconfig.json" node \
  -r ts-node/register \
  -r tsconfig-paths/register \
  ./node_modules/erdia/dist/cli.js build -d [your dataSourcePath] --format html -o ./dist/html

结论

i在Jenkins构建过程中生成Erdia HTML文档,并将其部署到AWS S3(CDN)。这项任务,我总是有一个最新的实体规范,图表并可以与我的同事共享。

良好的文档,管理良好的文档,提高了项目的生产率。如果您现在正在使用TypeOrm,我强建议建议采用ERDIA

Image description