数据导出 Data export

使用 Strapi CLI 导出数据

v4.6.0 功能

Strapi 的 v4.6.0 及更新版本中提供数据导出功能。请参阅 更新和迁移文档 以升级您的应用程序。

strapi export 命令用于从本地 Strapi 实例导出数据。默认情况下,strapi export 命令将数据导出为加密和压缩的 tar.gz.enc 文件,其中包括:

  • 项目配置,
  • 实体:您的所有内容,
  • 链接:您的实体之间的关系,
  • 资产:存储在上传文件夹中的文件,
  • 模式,
  • metadata.json 文件。

以下文档详细介绍了自定义数据导出的可用选项。导出命令和所有可用选项均使用 Strapi CLI 运行。

  • 管理员用户和 API 令牌不会被导出。
  • 来自第三方提供商(例如 Cloudinary 或 AWS S3)的媒体不会包含在导出中,因为这些文件不存在于上传文件夹中。

命名导出文件

导出的数据包含在 .tar 文件中,该文件使用 export_YYYYMMDDHHMMSS 格式自动命名。您可以选择通过在 strapi export 命令中传递 --file-f 选项来命名导出的文件。不要包含文件扩展名,因为将根据提供的选项自动设置文件扩展名。

示例:使用自定义文件名导出数据

bash
yarn
bash
yarn strapi export --file my-strapi-export

配置数据加密

默认的 strapi export 命令使用 aes-128-ecb 加密方式加密您的项目数据,并添加文件扩展名 .enc。要使用加密,您需要使用 -k--key 选项传递加密密钥,或在提示时输入加密密钥。加密密钥是一个没有最低字符数的 string

加密密钥

鼓励使用强加密密钥来保护项目中的敏感数据。OpenSSL 是生成加密密钥的资源。以下示例命令在终端中生成加密密钥:

bash
Mac/Linux
bash
openssl rand -base64 48

要禁用加密,请使用 strapi export 命令传递 --no-encrypt 选项。

示例:导出不加密的数据

bash
yarn
bash
yarn strapi export --no-encrypt

Example: Export data with the encryption --key option

bash
yarn
bash
yarn strapi export --key my-encryption-key

禁用数据压缩

默认的 strapi export 命令使用 gzip 压缩来压缩您的项目数据并添加 .gz 文件扩展名。

要禁用压缩,请使用 strapi export 命令传递 --no-compress 选项。

示例:导出不压缩的数据

bash
yarn
bash
yarn strapi export --no-compress

仅导出选定类型的数据

默认的 strapi export 命令会导出您的内容(实体和关系)、文件(资产)、项目配置和架构。--only 选项允许您通过传递逗号分隔的字符串(类型之间没有空格)仅导出列出的项目。可用值为 contentfilesconfig。架构始终会导出,因为架构匹配用于 strapi import

图像等媒体由数据库中的文件(资产)和实体组成。如果您使用 --only 标志导出 content,资产数据库记录仍会包含在内,并且可能会呈现为断开的链接。

示例:仅导出实体和关系

bash
yarn
bash
yarn strapi export --only content

从导出中排除项目

默认的 strapi export 命令会导出您的内容(实体和关系)、文件(资产)、项目配置和架构。--exclude 选项允许您通过将这些项目传递到逗号分隔的字符串中(类型之间没有空格)来排除内容、文件和项目配置。您无法排除架构,因为架构匹配用于 strapi import

图像等媒体由数据库中的文件(资产)和实体组成。如果您使用 --exclude 标志删除资产,则数据库记录仍包含在内,并且可能会呈现为断开的链接。

示例:导出不包括资产、实体和关系的数据

bash
yarn
bash
yarn strapi export --exclude files,content