用途:通过 Omni CLI 的 YAML API 创建和编辑 Omni 语义模型,包括视图、主题、维度、度量、关系、查询视图、复合主题和聚合定义。
前置条件:需已安装 Omni CLI(command -v omni),并用 omni config show 查看配置、omni config use <profile-name> 切换配置、omni whoami whoami 确认认证与权限;需 Modeler 或 Connection Admin 权限。任何命令可加 -o json 获取结构化输出。认证方式为 API key 或 OAuth,401 时请用户运行 ! omni config login <profile>;不要在无头/CI 会话自行登录。
架构:分 schema、shared model、workbook model、branch 四层;schema 层由数据库自动生成,用户内容经由 shared model 层,开发在 branch 上进行。
主要用法:先用 omni models list 与 omni connections list 确认 SQL 方言;用 omni models create-branch <modelId> --name "my-feature-branch" 建分支;用 omni models yaml-create 写 YAML(branchId 必须为服务器返回的 UUID,mode 用 extension);用 omni models validate 与 omni query run 验证测试;最后视是否 git-connected,用 omni models commit 提交 PR 或用 omni models merge-branch 合并。也有 omni models refresh 同步 schema、omni models delete 删除模型、omni models git-get、get-views、get-topic 等命令。
限制:编辑已有文件是整文件读写,需先 yaml-get 再整体写回;git 连接的模型不要手改 YAML;合并/提升分支必须用户明确确认,不要自行执行;缺少真实主键的视图参与连接可能产生扇出或聚合错误;窗口型结果列应作为表计算而非模型字段。资料未提供的细节暂不展开。