从PostgreSQL迁移博客到Contentful时如何设置sys下的日期属性?
结论
你无法通过任何公开接口自定义修改Contentful条目sys字段下的createdAt、updatedAt、publishedAt、firstPublishedAt四个日期属性。
原因说明
所有sys开头的字段都是Contentful平台自动维护的系统元数据,设计层面就没有开放写入权限,不管是内容管理API(CMA)、官方迁移工具还是CLI导入功能,都会直接忽略你传入的sys字段自定义值,统一使用操作执行的时间生成对应日期属性,这就是你修改导出文件导入后日期被覆盖的根本原因。
可行迁移方案
目前行业通用的解决方式就是你查到的自定义字段方案:
- 在对应博客内容类型中新增一组自定义日期字段,例如
legacyCreatedAt、legacyPublishedAt等,将旧PostgreSQL库中的对应日期写入这些自定义字段 - 前端展示、查询内容时做字段兼容逻辑:优先读取自定义的历史日期字段值,若不存在(即新发布的内容)再读取
sys下的原生日期属性即可,完全可以满足老旧内容的日期展示需求
内容的提问来源于stack exchange,提问作者nusantara
相关产品推荐
相关产品推荐

