TSts-grm

GRM for TypeScript

数据访问,
由类型驱动。

ts-grm 是面向 TypeScript 7.0 的 GRM(ORM+)。在真实编辑器和数据库环境中学习模型、查询与精确取形。

0 codegen100% TypeScriptlive PostgreSQL
main.ts
TS-GRM / PLAYGROUND
// 精确声明所需的数据形状
const BookView = dto.view(Book, c => [
  c.id,
  c.name,
  c.price,
])

const books = await sqlClient
  .createQuery(Book, (q, book) => {
    q.where(book.price.gt(40))
    return q.select(book.fetch(BookView))
  })
  .fetchList()
01

纯类型推断

无需代码生成,模型、查询与结果形状都由 TypeScript 精确推断。

02

查询即取形

像 GraphQL 一样只声明需要的数据,直接得到精准 DTO。

03

真实执行环境

示例连接 PostgreSQL,在隔离的个人 schema 内即时运行。

04

完整类型体验

Monaco 内置诊断、补全与多文件类型跳转,边读边验证。

Learning path

从第一个模型开始

查看完整目录
01

关于本教程

教程讲什么、怎么读:章节地图、阅读路径,以及每页示例运行所在的沙盒环境。

02

快速上手

安装 → 模型 → 视图 → 查询:四步跑通第一个可运行示例。

03

核心概念

模型、属性、关联、继承多态(独立子表与单表两种策略)、复合值与公式——以及整个框架的理念基石「DTO 哲学」。

04

查询 API

从根查询到条件、排序、取形、分页、自定义数据类型——再到聚合、子查询、CTE 与关联预取的完整查询能力。

05

变更 API(save)

查询之外的另一半:用 Input DTO「按需给形」地写数据——根模式(INSERT/UPDATE/UPSERT)、关联保存模式、解绑与删除、多态与引用、输入映射校验,以及「保存并回读」的完整闭环。

06

SQL 后端

驱动接入、命名策略、事务、方言差异、SQL 日志、模式创建与实体过滤器(SQL 拦截器)。

07

API 参考

core / sql 快速参考:模型、属性、视图、DSL 与 SqlClient、驱动、选项的速查入口。

ts-grm / docs + labType-safe data access for TypeScript