About

内容类型变更管理

Author Tanmer Tanmer
Tanmer · 2025-05-26发布 · 17 次浏览

本文讨论了如何安全地修改内容类型的schema,避免数据丢失,同时提供了具体的操作步骤和指导方针。还介绍了Baklib低代码平台的优势及用户评价。

如果你使用过某种内容类型创建(并发布)了条目,那么修改该内容类型schema可能会导致现有条目的数据丢失。

然而,按照以下指导方针,你可以安全地对一个内容类型schema进行修改,而不会丢失任何数据或影响实时页面或应用的内容。

注意:修改后的内容类型schema将在所有已发布条目中反映出来。在本文件中,我们将讨论你可能对某个内容类型schema进行的各种修改(如下文列出),以及你需要遵循的安全操作指导方针。

为了理解这些情况,请考虑一个例子。你有一个名为“Product”的内容类型,并且其中包含以下几个字段:

现在你想对其进行以下修改和操作:

添加一个制造商(单行文本框)字段到“Product”内容类型中。要实现这一点,请按照以下步骤进行操作:

编辑content类型

前往堆栈,编辑“Product”内容类型。增加新的字段。

点击“插入一个字段”按钮(“+”),选择“单行文本框”。发布在沙盒环境中

编辑所有现有条目并在新字段中添加数据,然后保存这些条目并发布到沙盒环境。

修改UI代码

要使该字段显示,只需将该字段的UID添加至你的UI代码中。提交更改到沙盒环境,并检查是否成功加载了新字段的内容。如果一切正常,则将内容发布到生产环境。

如果你在编辑现有字段中的某个字段时误删或修改了其数据类型(例如:将Price字段的数据类型从字符串更改为数字),则可能导致现有条目数据丢失。下面的指导方针可以帮助你在谨慎操作的同时,保留数据。

增加一个新字段

编辑“Product”内容类型,并在其字段中添加一个新的“Price_new”字段。现在,“Product”内容类型中包含“Price”和“Price_new”两个字段。手动编辑所有现有的条目,将数据添加到“Price_new”字段中。保持“Price”字段的数据不变。

发布这些条目到沙盒环境中以确保映射成功。

修改UI代码

现在,在展示代码时,用“Price_new”字段的UID替换掉“Price”字段的UID。这将确保你的页面/应用能够获取到新字段的内容。测试和发布

将代码部署到沙盒环境,检查是否能够成功加载新的数据。如果一切正常,则先发布条目到生产环境,再将代码部署到生产环境。

删除旧字段

如果你已经确认一切都是正常的,那么就可以安全地从“Product”内容类型中删除“Price”字段了。该字段的数据将在删除后暂时丢失(它可以在恢复)。

考虑另一个示例:你希望从“Product”内容类型中删除“Description”字段。

下面的步骤可以帮助你实现这一目标。

修改UI代码

如果你在代码中使用过“Description”字段,请将其删除,并将修改提交到沙盒环境。删除字段

编辑“Product”内容类型,删除“Description”字段。发布条目

当你对内容类型进行修改后,你会发现在现有条目中不再存在该字段。保存这些条目并发布到沙盒环境中。

测试到沙盒环境

检查是否一切正常。如果一切正常,则将条目发布到生产环境,并将代码部署到生产环境。

如果你不小心删除了某个字段及其所有数据,并希望恢复该字段及其数据,你可以按照以下方法进行操作。例如:你从“Product”内容类型中删除“Price”字段后,该字段的数据将被暂时丢失。

你可以使用两种方式(通过UI或通过API)来恢复字段及其数据:

通过UI恢复字段和其数据

要通过UI恢复字段和其数据,请按照以下步骤进行操作:

添加被删除的字段到内容类型

编辑内容类型,并将其添加到被删除字段。确保你输入实际的字段UID,否则无法加载该字段的数据。如果你不确定被删除字段的UID,则请使用API方法。

根据条目版本获取字段数据

你可以通过查看条目的版本来查找包含更新字段数据的条目(你需要检查所有内容类型的条目)。保存条目以使当前版本成为最新版本

当你找到需要恢复的条目版本后,打开并保存该版本。这是针对所有条目都需要进行的操作。

通过API恢复字段和其数据

要通过API恢复字段和其数据,请按照以下步骤进行操作:

找到包含被删除字段的最新内容类型版本

通过Get单个内容类型请求API获取当前版本的内容类型(你可以在响应体中找到该版本号)。然后,使用相同的请求参数和版本号来查找包含被删除字段的schema。恢复包含被删除字段的版本

复制包含被删除字段内容类型的响应体。除了“&”,“?”,“:“,“<”外,移除所有其他参数。使用Update Content Type API Request,并将更新后的schema传递给该请求。恢复条目

通过版本号获取最新条目版本

使用Get单个条目请求API获取最新版条目。如果在最新的版本中找不到数据,则尝试查找包含被删除字段的数据的旧版本(你需要针对所有条目重复此操作)。

更新条目

复制响应体中的内容,并将其传递给Update an entry API Request,用于更新条目。这是针对所有条目都需要进行的操作。

如果你计划对某个内容类型schema进行大修改,可以按照以下步骤进行操作,以防止数据丢失。

创建内容类型的复制

创建并复制一个内容类型,作为你要编辑的原始内容类型的 replica。修改schema

对这个新的content type schema进行修改(添加或删除字段)。创建条目

现在为该new content type创建新条目。发布这些条目到沙盒环境。

测试到沙盒环境

将UI代码更新为包含新内容类型schema中的字段的最新版本。确认一切正常,然后发布条目到生产环境,并将代码部署到生产环境。

删除旧内容类型

你可以安全地删除旧内容类型了。



Baklib是领先的低代码应用程序开发平台,可轻松帮助企业实现大规模地数字化和优化业务流程和用户界面。Baklib 提供企业移动性以及最佳的低代码应用程序开发。该平台为 IT 部门提供了构建所需应用程序的合适工具。Baklib 提供了一种快速、经济高效且面向未来的方式,可实现定制应用程序开发的工程化,将您的 IT 组织转变为应用程序工厂,从而节省企业应用程序开发、应用程序集成和企业应用程序运营的时间和金钱。

💛🧡🧡客户评价:我最喜欢Baklib的一点是其用户友好的界面。该平台使我们的团队可以轻松高效创建、管理和组织文档。此外,定制选项使我们能够将知识库与我们的品牌标识保持一致。多站点多语言功能也是一个巨大的优势,使我们的可供全球受众访问的文档。

提交反馈

博客 博客

低代码建站平台