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.