Skip to main content

Some attributes and content types names are reserved

In Strapi 5, some attributes and content types names are reserved, and all fields or content types in Strapi v4 using these reserved names should be renamed before migrating to Strapi 5 to prevent data loss. The reserved names should not be used in the database either.

This page is part of the breaking changes database and provides information about the breaking change and additional instructions to migrate from Strapi v4 to Strapi 5.

🔌 Is this breaking change affecting plugins?Yes
🤖 Is this breaking change automatically handled by a codemod?No

Breaking change description

In Strapi v4

The following attribute names can be created on a content type:

  • meta
  • status
  • entryId
  • strapi
  • locale (only for non-localized content types)
  • localizations
  • strapi_assignee
  • strapi_stage
  • then
  • document
  • anything with the prefix strapi, _strapi, or __strapi

Any model name can be prefixed with strapi.

In Strapi 5

The following attribute names can not be created on a content type or in databases:

  • meta
  • status
  • entryId
  • strapi
  • locale
  • localizations
  • strapi_assignee
  • strapi_stage
  • then
  • document
  • anything with the prefix strapi, _strapi, or __strapi

Model names can not be prefixed with strapi, _strapi, or __strapi.

Migration

Manual procedure

Rename any custom field or content-type that falls under the restriction list before any migration to prevent data loss or other unexpected issues.