Aster文档
搜索 Aster 文档
ESC
产品
版本

输入关键词开始搜索。

    文档目录

    ASTER ORM / 01

    Aster ORM 产品概览

    aster-orm 的类型化查询、方言编译、异步 Executor 和迁移边界。

    aster-orm 是类型安全、Executor 中立的 Rust SQL 查询构建器。当前版本为 0.3.1,要求 Rust 1.85 或更新版本。

    表声明在编译期约束列、值、赋值和查询结果。不可变 Builder 生成 SQL 与绑定参数,再通过异步 Executor 执行。

    ORM 不是 Active Record 框架。记录不拥有持久化行为,查询保持可见,运行时值不会插值到 SQL 文本中。

    架构图ORM 的查询编译与执行边界类型化 Schema 组成不可变查询,方言生成 SQL 与绑定参数,异步 Executor 负责连接、事务和结果解码。
    ORM 的查询编译与执行边界类型化 Schema 和表达式形成不可变查询。方言只编译 SQL 与参数。Executor 负责异步执行、事务与结果解码。类型化 Schema + 表达式不可变 Query ASTDialectPostgreSQL / SQLite / MySQLSQL + 绑定参数异步 Executor连接 / 事务 / 解码PostgreSQL 或 SQLiteMySQL 仅编译

    编译与执行分离

    ORM 的分层职责
    层职责不承担的职责
    Schema 与表达式约束表、列、值和结果类型不打开数据库连接
    Query AST组合 SELECT、INSERT、UPDATE 和 DELETE不拼接运行时值
    Dialect处理引用、占位符和能力检查不执行网络或文件 I/O
    Executor执行 SQL、事务和结果解码不推断 Builder 类型状态
    Migrator执行或核对带校验和的迁移账本不提供自动 Down Migration

    新方言实现 Dialect,新运行时实现 Executor。自定义运行时不需要理解 Query Builder 的内部状态。

    驱动与方言

    当前驱动与方言范围
    能力PostgreSQLSQLiteMySQL
    SQL 编译支持支持支持
    内置异步驱动Deadpool + rustlsTokio 安全单连接没有
    事务支持支持无内置运行时
    迁移锁Advisory LockBEGIN IMMEDIATE无内置运行时
    行锁与表锁支持明确拒绝明确拒绝

    默认 feature 是 sqlite。postgres 启用 UUID、JSON、Chrono、Decimal、数组和 Deadpool 驱动。关闭默认 feature 可以只使用查询构建和方言编译。

    主要边界

    SQLite 内置 Executor 在单连接上串行执行,不是多连接池。MySQL 只表示 SQL 生成,不表示已有运行时驱动。

    迁移只向前执行。类型化 DDL Builder、查询插件、自定义 PostgreSQL domain codec 和 Schema 代码生成尚未包含。

    文档入口

    实现依据