Skip to main content

数据导入

¥Data import

strapi import 命令用于从文件导入数据。默认情况下,strapi import 命令从加密和压缩的 tar.gz.enc 文件导入数据,其中包括:

¥The strapi import command is used to import data from a file. By default, the strapi import command imports data from an encrypted and compressed tar.gz.enc file which includes:

  • 项目配置,

    ¥the project configuration,

  • 实体:你的所有内容,

    ¥entities: all of your content,

  • 链接:你的实体之间的关系,

    ¥links: relations between your entities,

  • 资源:文件存储在上传文件夹中,

    ¥assets: files stored in the uploads folder,

  • 模式,

    ¥schemas,

  • metadata.json 文件。

    ¥the metadata.json file.

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

¥The following documentation details the available options to customize your data import. The import command and all of the available options are run using the Strapi CLI.

警告
  • strapi import 在导入备份文件之前删除所有现有数据,包括数据库和上传目录。

    ¥strapi import deletes all existing data, including the database and uploads directory, before importing the backup file.

  • 源架构和目标架构必须匹配才能成功使用 strapi import,这意味着所有内容类型必须相同。

    ¥The source and target schemas must match to successfully use strapi import, meaning all content types must be identical.

  • 恢复的数据不包括 Admin users 表,这意味着恢复的实例中 createdByupdatedBy 为空。

    ¥Restored data does not include the Admin users table, which means that createdBy and updatedBy are empty in a restored instance.

指定导入文件

¥Specify the import file

要将数据导入 Strapi 实例,请在目标项目根目录中使用 strapi import 命令。使用 -f--file 选项指定要导入的文件。文件名、扩展名和路径是必需的。如果文件已加密,系统会在导入开始之前提示你输入加密密钥。

¥To import data into a Strapi instance use the strapi import command in the destination project root directory. Specify the file to be imported using the -f or --file option. The filename, extension, and path are required. If the file is encrypted, you are prompted for the encryption key before the import starts.

示例:从 Strapi 项目根目录中的文件导入数据的最少命令

¥Example: Minimum command to import data from a file in the Strapi project root

yarn strapi import -f /path/to/my/file/export_20221213105643.tar.gz.enc

提供加密密钥

¥Provide an encryption key

如果要从加密文件导入数据,则可以使用 strapi import 命令通过 -k--key 选项传递加密密钥。

¥If you are importing data from an encrypted file the encryption key can be passed with the strapi import command by using the -k or --key option.

示例:使用 strapi import 命令传递加密密钥

¥Example: Pass the encryption key with the strapi import command

yarn strapi import -f /path/to/my/file/export_20221213105643.tar.gz.enc --key my-encryption-key

绕过所有命令行提示

¥Bypass all command line prompts

使用 strapi import 命令时,需要确认导入会删除现有数据库内容。--force 标志允许你绕过此提示。此选项对于以编程方式实现 strapi import 很有用。对于编程使用,你还必须为加密文件传递 --key 选项。

¥When using the strapi import command, you are required to confirm that the import will delete the existing database contents. The --force flag allows you to bypass this prompt. This option is useful for implementing strapi import programmatically. For programmatic use, you must also pass the --key option for encrypted files.

--force 选项示例

¥Example of the --force option

yarn strapi import -f /path/to/my/file/export_20221213105643.tar.gz.enc --force --key my-encryption-key

导入期间排除数据类型

¥Exclude data types during import

默认 strapi import 命令导入你的内容(实体和关系)、文件(资源)、项目配置和架构。--exclude 选项允许你通过以逗号分隔的字符串传递这些项目来排除内容、文件和项目配置,类型之间不带空格。你无法排除架构,因为架构匹配用于 strapi import

¥The default strapi import command imports your content (entities and relations), files (assets), project configuration, and schemas. The --exclude option allows you to exclude content, files, and the project configuration by passing these items in a comma-separated string with no spaces between the types. You can't exclude the schemas, as schema matching is used for strapi import.

警告

任何从导入中排除的类型都将在你的目标实例中删除。例如,如果你排除 config,则目标实例中的项目配置将被删除。

¥Any types excluded from the import will be deleted in your target instance. For example, if you exclude config the project configuration in your target instance will be deleted.

注意

图片等媒体由文件(资源)和数据库中的实体组成。如果你使用 --exclude 标志来删除资源,数据库记录仍然包含在内,并且可能渲染为损坏的链接。

¥Media such as images consist of the file (asset) and the entity in the database. If you use the --exclude flag to remove assets, the database records are still included, and could render as broken links.

示例:从导入中排除资源

¥Example: exclude assets from an import

yarn strapi import -f /path/to/my/file/export_20221213105643.tar.gz.enc --exclude files

导入期间仅包含指定的数据类型

¥Include only specified data types during import

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

¥The default strapi import command imports your content (entities and relations), files (assets), project configuration, and schemas. The --only option allows you to export only the listed items by passing a comma-separated string with no spaces between the types. The available values are content, files, and config. Schemas are always imported, as schema matching is used for strapi import.

注意

图片等媒体由文件(资源)和数据库中的实体组成。如果你使用 --only 标志导入 content,资源数据库记录仍然包含在内,并且可能渲染为损坏的链接。

¥Media such as images consist of the file (asset) and the entity in the database. If you use the --only flag to import content the asset database records are still included, and could render as broken links.

示例:仅导入项目配置

¥Example: import only the project configuration

yarn strapi import -f /path/to/my/file/export_20221213105643.tar.gz.enc --only config