@rawsql-ts/ddl-docs-cli
v0.2.5
Published
CLI tool that generates Markdown table definition docs from DDL files using rawsql-ts
Maintainers
Readme
@rawsql-ts/ddl-docs-cli
Generate Markdown table definition documents from DDL files.
- DDL is treated as SSOT.
- SQL parsing uses
rawsql-ts. CREATE TABLEandALTER TABLE ... ADD CONSTRAINTare applied across the full DDL stream.COMMENT ON TABLE/COLUMNis parsed viarawsql-ts.
Install
pnpm --filter @rawsql-ts/ddl-docs-cli buildUsage
ddl-docs generate --ddl-dir ztd/ddl --out-dir ztd/docs/tablesShow help:
ddl-docs help
ddl-docs help generate
ddl-docs help pruneGenerated layout:
ztd/docs/tables/index.mdztd/docs/tables/<schema>/index.mdztd/docs/tables/<schema>/<table>.md
Options:
--ddl-dir <directory>repeatable recursive directory input--ddl-file <file>repeatable explicit file input--ddl <file>alias of--ddl-file--ddl-glob <pattern>repeatable glob pattern input--extensions <csv>default.sql--out-dir <directory>output root (defaultztd/docs/tables)--config <path>optionalztd.config.jsonpath--default-schema <name>schema override for unqualified table names--search-path <csv>schema search path override--no-indexskip index page generation--strictfail when warnings exist--column-order <mode>definition(default) orname
Prune generated files:
ddl-docs prune --out-dir ztd/docs/tablesPrune preview:
ddl-docs prune --out-dir ztd/docs/tables --dry-runOptional orphan cleanup:
ddl-docs prune --out-dir ztd/docs/tables --prune-orphansVitePress Integration
This tool emits plain Markdown files and index pages.
If you prefer VitePress-side navigation generation, run with --no-index and let your site config build navigation from the generated table pages.
Warnings
Warnings are emitted to <outDir>/_meta/warnings.json.
Use --strict in CI to treat warnings as failures.
Memory Notes
Current implementation prioritizes correctness by applying the full DDL stream and aggregating table metadata before rendering. For large schemas (for example, ~300 tables), follow-up optimization should focus on reducing peak memory by keeping only compact table metadata and discarding statement-level objects early.
Minimal E2E Sample
See packages/ddl-docs-cli/examples/minimal-e2e.
