schema-dsl 文档索引
更新时间: 2026-05-06
用途: 所有文档的快速导航
在线文档: https://schema-dsl.github.io
文档数量:README.md + docs/*.md共 58 份
📑 目录
快速导航
- 快速开始 - 入门必读
- 核心文档 - 主要功能文档
- 功能索引 - 按功能查找
- 导出器 - 数据库 Schema 导出
- 工具类 - 辅助工具
- 使用指南 - 完整教程
- 补充文档 - 其余未在专题区展开的文档
- 故障排查 - 问题解决
- 示例代码 - 完整示例
- 常见问题 - FAQ
🚀 快速开始
📖 核心文档
DSL 语法(核心功能)
🎯 功能索引
核心API
🗄️ 导出器
将 JSON Schema 转换为数据库 DDL 和验证规则
⚠️ 重要提示: 请先阅读 导出限制说明,了解哪些特性无法导出到数据库 Schema。
导出限制说明 ⚠️
主要内容:
- ❌ 不支持导出的特性(条件验证、自定义验证器等)
- ⚠️ 部分支持的特性(正则、范围、枚举等)
- ✅ 完全支持的特性(基础类型、必填约束等)
- 数据库特定限制对比(MongoDB/MySQL/PostgreSQL)
- 最佳实践建议(分层验证、文档化约束等)
MongoDB 导出器
主要功能:
export()- 导出 $jsonSchema 验证规则generateCreateCommand()- 生成创建集合命令(含验证)generateCommand()- 生成完整 runCommand 命令MongoDBExporter.export()- 静态快速导出方法
MySQL 导出器
主要功能:
export()- 导出 CREATE TABLE DDLgenerateIndex()- 生成 CREATE INDEX DDL- 支持 ENGINE、CHARSET、COLLATE 配置
PostgreSQL 导出器
主要功能:
export()- 导出 CREATE TABLE DDL(含 CHECK 约束)generateIndex()- 生成索引 DDL(支持 btree/gin/gist/hash)- 支持 Schema 命名空间和 COMMENT
🛠️ 工具类(Utilities)
TypeConverter 主要功能
toMongoDBType()- 转换为 MongoDB 类型toMySQLType()- 转换为 MySQL 类型toPostgreSQLType()- 转换为 PostgreSQL 类型extractConstraints()- 提取约束信息mergeSchemas()- 合并多个 Schema
SchemaHelper 主要功能
isValidSchema()- 验证 Schema 合法性cloneSchema()- 深度克隆 SchemaflattenSchema()- 扁平化嵌套 SchemagetFieldPaths()- 获取所有字段路径summarizeSchema()- 生成 Schema 摘要
CacheManager 主要功能
- LRU 缓存策略(最近最少使用淘汰)
- TTL 过期支持
- 缓存统计(命中率、大小等)
- 线程安全设计
📖 使用指南(Guides)
验证指南内容
- 基础验证流程
- 字段类型验证(字符串/数字/布尔/数组/对象)
- 常用业务验证模式
- 批量验证与性能优化
- 错误处理最佳实践
导出指南内容
-
MongoDB/MySQL/PostgreSQL 导出对比
-
配置与自定义选项
-
自动化迁移脚本
-
版本管理与最佳实践
-
⚠️ 导出限制说明 - 哪些特性无法导出 ⭐⭐⭐
-
数据库导出概述
-
MongoDB/MySQL/PostgreSQL 导出教程
-
多数据库同步方案
-
类型映射参考表
-
最佳实践与常见问题
🧩 补充文档
上方专题区主要按学习路径和主题组织;以下补充索引列出当前尚未在专题区单独展开的其余文档,确保导航覆盖
docs/*.md全量文档。
📝 示例代码(Examples)
❓ 常见问题(FAQ)
热门问题:
- DSL 语法与 Joi 语法的区别?
- 如何自定义验证规则?
- 如何优化验证性能?
- 不同数据库的类型映射?
- 如何处理验证错误?
🔧 开发指南
📊 版本信息
📁 文档统计
图例说明:
- ⭐ 重点推荐文档
- ⭐⭐ 核心文档
- ⭐⭐⭐ 必读文档
对应示例文件
示例入口: doc-index.ts
说明: 用一个最小入口脚本串起快速开始、编译校验和文档导出,帮助读者从索引页直接落到可运行示例。
最后更新: 2026-05-08