2.36 升级说明{ #236-upgrade-notes }¶
如果从早期版本升级,请确保您已阅读 PREVIOUS RELEASE 中的升级说明
数据库¶
- 类别"、"数据元素分组 "和 "组织单位分组 "表中新增了 "短名 "列(强制属性)。
- 数据元素分组 "和 "组织单位分组 "表中增加了 "描述 "列。
- 为表
trackedentityprogramowner的列(trackedentityinstanceid,programid,organisationunitid)新建索引。改进了在程序上下文中与组织单位范围有关的查找。 - 为表
programinstance的列(programid)新建索引。改进了大多数情况下根据程序查找程序实例的一般方法。 - 在表
trackedentityattributevalue中为(trackedentityinstanceid, trackedentityattributeid, lower(value))列建立新索引。这是对先前的(trackedentityattributeid, lower(value))列索引的补充。我们看到,在跟踪实体实例的情况下,postgres 会返回到顺序扫描,而使用现有索引会得到更好的结果。有了新索引,我们就能成功地鼓励 postgres 在对跟踪实体实例进行匹配时也使用该索引。 - 为表
programstageinstance的列(status,executiondate)新建索引。该表通常比跟踪的实体实例表和程序实例表大很多,当在搜索中将程序阶段实例作为过滤器时,我们发现一些查询出现了瓶颈。我们添加了这个索引,以提高我们最常用的过滤列 status 和 executiondate 的性能,后者在搜索事件时经常与 status 一起使用。 - 注意:由于添加到可能较大的表中的新索引数量较多,因此升级过程可能会花费大量时间。
- 共享:在所有元数据表中添加了新的 JSONB 列
sharing,用于存储共享数据。当前所有的*useraccesses和*usergroupaccesses表都已废弃。启动时会执行一个 Flyway 脚本,将所有共享数据从已废弃的表迁移到新的sharing列。要使用 SQL 查询更新共享数据,可以使用 PostgreSQL JSON 函数 。新的sharing列的 JSON 格式如下。
``json { "owner":"GOLswS44mh8"、 "external": false、 "users":{}、 "用户组 { "Rg8wusV7QYi": { "access":"r-r-----"、 "id":"Rg8wusV7QYi" } }, "public": "rw------" } ```
API¶
- POST /api/dataAnalysis/stdDevOutlier
和POST /api/dataAnalysis/minMaxOutlierAPI 端点已过时,将在 2.37 中移除。这些端点将被/api/outlierDetection` API 所取代,后者可提供更高性能和更复杂的离群值检测。 - 用于读取后续数据值的
POST /api/dataAnalysis/followupAPI 端点已过时,将在 2.38 中移除。该端点将被GET /api/dataAnalysis/followupAPI 端点取代。 /api/analytcsAPI 端点metadata>headers响应中的type字段已被弃用,并将在 2.37 中移除。请使用valueType字段。- 作为与可视化 API (
/api/visualizations) 更改相关的弃用过程的一部分,多个可视化属性被设为只读。您可以在 DHIS2-10054 中找到“新格式”和相应更改的属性。 DHIS2 文档的可视化部分介绍了新格式。为了避免破坏现有应用程序,旧格式仍将作为响应的一部分返回。对重构属性的更改仅在使用新格式时才会生效。请参阅 DHIS2-1369。 - 不再支持 API 端点
api/categoryOptions和api/programs中的restrictToCaptureScope参数。对于单独的程序,可使用另一个端点/api/programs/orgUnits?programs={programUids}来获取 organisationUnit 关联。 - 共享:引入新的 "共享 "列只会影响后端服务和数据库,因为我们会尽量保持这一变更的向后兼容性。这意味着所有 api 和应用程序都能像以前一样正常工作。所有与共享相关的 api 端点仍接受旧格式的 "用户访问权限 "和 "用户组访问权限",我们会在后台将它们转换为新格式并保存到数据库中。所有 api 端点都将同时返回新旧两种共享格式。详情请参见 Sharing 。