Skip to content

[Chloe][SQL] 🚧 支持关系表 schema 命名空间与限定表名 #232

Closed

Description

@maikebing

Chloe 的 [Table(..., Schema=...)] 与 PostgreSQL provider 支持 schema 限定表名。SonnetDB 4.0.0/current main 的关系目录没有独立关系 schema 命名空间;将 schema.table 当作一个字符串表名或静默丢弃 schema 会导致错误路由与同名表冲突。

🚧 未完成:新 Chloe.SonnetDB provider 会在生成 SQL/建表时明确拒绝显式 schema,不能宣称这项能力等价完成。

最小目标:当前数据库内部支持 schema.table 的解析与目录定位;创建、查询、更新、删除、建表及元数据一致。无需扩展为跨服务器或跨数据库查询。

验收:两个 schema 可拥有同名表且互不混淆;quoted identifiers(包含双引号)正确;默认 schema 行为有文档;重启恢复;SndbConnection 嵌入式与远程返回一致。

⏳ 仅在实现与测试完成、正式包尚未包含时改为等待发布。

Activity

  1. maikebing commented on Oct 8, 2026

    @maikebing
    MemberAuthor

    此项也阻塞 NewLife.XCode 的对应公开 ORM 能力,已纳入:

    状态:⛔ SonnetDB 4.0.0 不能完整满足该项;🛠️ 实现/修复尚未完成;🧪 此能力的完整 XCode 集成验收未完成。实现后还需 📦 正式发布 Core/Data/相关 Server,再由 🔧 XCode 更新依赖并验收。PR 中的保护异常或跳过测试不计为完整支持,#100 和 PR 保持开放/草稿。

    仅关联 XCode 实际使用的该项合同,不扩大当前 issue 到数据库全部方言或额外模型。

  2. maikebing commented on Oct 19, 2026

    @maikebing
    MemberAuthor

    代码审计结论(2026-10-19):仓库内代码实现已完成并合入 main(基线 615f3cd)。schema/table 结构化身份、默认 main、限定名绑定、大小写/引号合同、v18 目录及双 schema 重开 CRUD 已完成,整合树定向 51/51。 本评论只确认仓库代码与仓库测试,现按代码范围关闭。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions