linkorb/schemata

此包最新版本(v1.1.9)没有提供许可信息。

Schema 工具:建模、文档、生成器、验证器

v1.1.9 2020-03-09 11:45 UTC

README

安装

您可以使用以下步骤使用包含的生成工具

  • 确保已安装 composerhttps://getcomposer.org.cn/download/
  • 添加依赖: composer require linkorb/schemata
  • 运行 composer install 安装依赖。这将下载我们需要的所有库到 vendor/ 子目录

使用方法

通用 CLI 使用

vendor/bin/schemata <command> <arguments>

Schema HTML 文档

输入以下命令以根据模式文件生成 HTML 文档

`vendor/bin/schemata generate:html-doc /path/to/schema /path/to/build/html-doc`

这将解析 schema/ 目录中定义的模式,并在 build/html-doc 目录中生成完整的 HTML 文档集。

您可以通过在网页浏览器中打开 index.html 文件来浏览文档。

open `build/html-doc/index.html`

GraphQL 模式定义

输入以下命令以根据模式文件生成 GraphQL 模式定义

`vendor/bin/schemata generate:graphql-schema /path/to/schema /path/to/build/graphql [--bundle]`

这将解析 schema/ 目录中定义的模式,并在 build/graphql 目录中生成完整的 GraphQL 类型集。传递 --bundle 标志将创建单个捆绑文件而不是每个类型的单个文件

上下文模式定义

输入以下命令以根据模式文件生成 context 模式定义

`vendor/bin/schemata generate:context-schema /path/to/schema /path/to/build/context [--bundle]`

这将解析 schema/ 目录中定义的模式,并在 build/context 目录中生成完整的 GraphQL 类型集。传递 --bundle 标志将创建单个捆绑文件而不是每个类型的单个文件

模式验证

`vendor/bin/schemata schemata:validate /path/to/schema`

一个服务,它扫描所有表和列,执行验证。控制台命令在没有问题时返回 0,存在问题时返回 -1

模式差异

`vendor/bin/schemata schemata:diff /path/to/schemaOne /path/to/schemaTwo`

一个控制台命令,

  • 加载 2 个模式;
  • 扫描所有表+列,并构建一个包含差异的数组(添加+删除的表和列);
  • 将差异列表输出到控制台。

内联使用示例

<?php

require_once __DIR__ . '/vendor/autoload.php';

use LinkORB\Schemata\Service\SchemaProviderPath;
use LinkORB\Schemata\Service\SchemaService;

$schemaProvider = new SchemaProviderPath('/workspace/schema');

$service = new SchemaService($schemaProvider->getSchema());

$service->parseSchema();

$schema = $service->getSchema();

echo
    'Number of tables: ' . count($schema->getTables()) . PHP_EOL,
    'Number of codelists: ' . count($schema->getCodelists()) . PHP_EOL
;

常规提交

此存储库正在使用 Conventional Commits

请至少运行一次 npm install,以安装适当的工具和 git 钩子(这有助于您通过在提交之前对其进行 linting 来遵循约定)。

简而言之:您应该在提交标题前加上正确的类型(例如,feat: 我的新酷功能)。这有助于创建清晰的提交历史,自动处理 semver、标记和 CHANGELOG.md 生成。

如果您想在我们的规划系统中引用一个卡片,只需在提交标题末尾添加 #123。该卡片将正确地从变更日志等中链接。

要发布新版本,只需运行 npm run publish。这将更新变更日志,并将 composer.json、package.json 等清单更新到新标签。标签遵循 Semver,并基于自上次发布以来的提交类型选择。