For AI agents: the complete documentation index is available at https://a3s-lab.github.io/ORM/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/ORM/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/ORM/getting-started/overview.md.
  • 简体中文
  • v0.3.1
  • 概览

    A3S ORM 是一个受 Kysely 启发的 Rust 类型安全 SQL 查询构建器。它让表声明约束列、值、赋值与解码结果,同时让实际 SQL、绑定参数和执行时机保持可见。

    它不是 Active Record 框架。记录不拥有持久化方法,查询不会在访问字段时自动执行,运行时值也不会被插入 SQL 文本。

    核心数据流

    类型化表与表达式
            |
      不可变查询 AST
            |
        方言编译器
            |
     SQL + 绑定参数
            |
    异步 Executor 与驱动

    每一层只拥有一类责任:

    层负责不负责
    Schema 与 Expression表身份、列所有权、值族和合法比较SQL 方言与连接
    QuerySELECT、INSERT、UPDATE、DELETE 及其结构打开数据库连接
    Dialect标识符引号、占位符、能力检查事务与行解码
    Executor异步执行、事务、连接与驱动行理解构建器类型状态
    Decode从驱动中立值安全转换结果隐式修正不兼容类型

    可以依赖的保证

    • 列只能用于拥有它的表或显式别名。
    • 比较、赋值和插入值必须属于兼容的 Rust 与 SQL 值族。
    • 动态值只能通过绑定参数进入编译结果。
    • 不支持的方言能力会返回错误,不会生成近似语法。
    • CTE、子查询、窗口和外层查询共享同一个参数编号序列。
    • Database 区分构建错误、执行错误、解码错误、无行和多行结果。

    当前 v0.3.1 还支持类型化 UPDATE CTE、UPDATE FROM、表达式赋值和原子 worker claim。候选行锁与状态更新可以保留在同一条参数化语句中。

    方言与运行时

    能力PostgreSQLSQLiteMySQL
    SQL 编译支持支持支持
    内置异步驱动支持支持不提供
    RETURNING支持支持拒绝
    ON CONFLICT支持支持拒绝
    行锁与表锁支持拒绝拒绝
    事务支持支持不提供
    锁定迁移advisory lockBEGIN IMMEDIATE不提供

    SQLite 是默认 feature。PostgreSQL 使用有界 Deadpool 连接池,并提供事务策略、TLS、健康快照与重试分类。MySQL 目前只包含编译器。

    下一步

    先阅读安装与 feature,再完成快速开始。部署前请核对架构与生产边界。