# 20231026 Rocket Migrations and User Migrations Will be in Different Locations

Date: 2023-10-26

# Status

Accepted

# Context

Rocket brings a set of recommended migrations for Contentful. These are a set of classes that inherit from AbstractMigration. This is needed to prevent the user from choosing a set of migrations that result in an invalid content type model in Contentful (for example choosing page sections without also having a page model).

Furthermore, Rocket enables the user to add custom migrations for their content types. A user asked if it would be possible to have recommended migrations and custom migrations in the same folder.

# Decision

We decided to keep custom and recommended migrations separate. Contentful supplies a set of tools for writing migrations easily, and it comes with a well-documented manual. Making the AbstractMigration available for users would also not benefit the users, because they don't need to validate the set of their migrations. If users want to change a recommended content type after running Rocket, they can easily write a small migration that changes the part they would like to add / change.

# Consequences

When users want most of a certain recommended migration (say, a page, but without the title attribute), but not all of it, they will have to write a custom migration script that facilitates that change.