You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何更新CKAN数据集的metadata_created字段?数据库修改后API/UI不生效

批量修改CKAN数据集metadata_created字段后API/UI未同步的问题

我需要批量修正一批从旧系统迁移至CKAN的数据集的metadata_created字段(这些数据集在CKAN中的创建时间记录有误)。

尝试过的操作:

  1. 首先尝试用ckanapi更新该字段,但发现metadata_created无法通过API修改
  2. 直接通过psql修改CKAN数据库的package表:
ckan=> select id, metadata_created, metadata_modified from package where id = 'a0f8e50d-aa28-4c5a-8aca-818d920244c9';
                  id                  |     metadata_created      |     metadata_modified
--------------------------------------+---------------------------+----------------------------
 a0f8e50d-aa28-4c5a-8aca-818d920244c9 | 2023-07-07 07:27:52.60954 | 2023-07-25 06:03:54.922081
(1 row)

ckan=> update package
set metadata_created = '1999-12-31T23:59:59'
where id = 'a0f8e50d-aa28-4c5a-8aca-818d920244c9';
UPDATE 1

ckan=> select id, metadata_created, metadata_modified from package where id = 'a0f8e50d-aa28-4c5a-8aca-818d920244c9';
                  id                  |  metadata_created   |     metadata_modified
--------------------------------------+---------------------+----------------------------
 a0f8e50d-aa28-4c5a-8aca-818d920244c9 | 1999-12-31 23:59:59 | 2023-07-25 06:03:54.922081
(1 row)

数据库查询已确认字段值修改成功,但API和UI仍显示旧的创建时间:

$ ckanapi action package_show id=a0f8e50d-aa28-4c5a-8aca-818d920244c9 -r https://our.ckan.tld | jq  '.metadata_created'
"2023-07-07T07:27:52.609540"

补充信息:

通过API对数据集其他字段做微小修改可以触发更新,让修改后的metadata_created显示出来,但这个方案不适用于大量数据集的批量操作。

疑问:

是否需要刷新或清除CKAN的缓存才能让直接修改数据库的metadata_created字段值在API/UI中生效?


内容的提问来源于stack exchange,提问作者PlanR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:20:19