介绍
我是使用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工具之一。
上图是一个图表,比较了npmtrends.com的三个流行ORM工具。 Erdia目前仅支持Typeorm,但路线图也支持Sequelize和Prisma。
入门
如果您有一个使用typeorm的项目,则可以立即应用Erdia。
npm i erdia --save-dev
然后,我建议运行初始化命令。
npx erdia init
初始化命令询问了一些有关运行ERDIA所需的问题,然后创建.erdiarc
文件。现在是时候创建您的第一个文档了。
npx erdia build
如果您使用的是打字稿,请参阅“打字”部分。
格式
Erdia以HTML,Markdown,PDF和图像格式生成文档。每个文档具有以下特征。
html | 降价 | 图像 | ||
---|---|---|---|---|
实体规范 | 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文档包含多个版本。
模板
Erdia使用ETA template engine生成文档。使用模板引擎的原因是,它允许您按照所需的方式自定义文档。如果要自定义Erdia生成运行以下命令的文档。
npx erdia eject
您可以在模板目录中找到默认模板。自定义您想要它。运行时,您需要按以下方式传递模板路径以生成修改的文档。
npx erdia build --template-path ./template
打字稿
如果您的Typeorm实体是用打字稿编写的,则必须使用ts-node或tsx进行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!