我正在将一个古老的博客从PostgreSQL迁移到Contentful。我想使用旧博客文章中的数据来填充Contentful条目的sys.createdAt
,sys.updatedAt
,sys.publishedAt
和sys.firstPublishedAt
。
我已经通读了:
- 内容管理API文档
- 内容迁移文档
- 关于使用Contentful 进行脚本迁移的页面
没有找到任何东西。
我读过几个例子,人们在内容类型中创建自己的publishedAt
字段,而不是添加sys
日期属性。
我试图复制导出内容的数据结构,如contentful-cli所导出的,并用我自己的数据填充日期属性:
// I edited these dates
"createdAt": "2020-09-05T13:14:00.768Z",
"updatedAt": "2021-06-05T13:14:20.303Z",
...
"publishedAt": "2021-06-05T13:14:20.303Z",
"firstPublishedAt": "2020-10-05T13:14:20.303Z",
然后我用同样的CLI导入JSON文件。
我还尝试导入一个用contentful space export
导出的文件,其中没有自定义编辑。事实证明,Contentful总是对所有条目日期属性使用导入时间,而不管导出文件中的日期是什么。
它说在内容交付API的某个地方,我们不能编辑sys
。但我还没有看到有人明确表示,我们不能用CMA或迁移工具来做到这一点。为了迁移的目的,真的不可能添加这些细节吗?
Contentful DevRel here。👋
你是正确的。sys
对象包含系统管理的元数据,其字段不能以编程方式更改。如果您使用官方工具也没关系。
(唯一的例外是您可以在创建条目时指定sys.id
)
我读过几个例子,人们在内容类型中创建自己的
publishedAt
字段,而不是添加到sys date属性。
👆这是推荐的方法。对于任何你想要控制的数据,创建新的字段,并按照你喜欢的方式管理它们。