When migrating data from a list that has record declaration enabled or the list itself, you get the following message:
Unable to create record declaration fields for the destination list. Views that had a field related to records at the source might be missing these fields once migrated.
Sharegate cannot create the record declaration fields since they are built-in. Even if record declaration is activated on a list, it might be missing fields. To fix this, Sharegate will toggle record declaration settings which will trigger the creation of those fields. The warning explained in this article happens when Sharegate is not able to do that. Since those fields were not created, if you had views that had a record declaration columns like 'Declared Record', they might not be copied over. If this is the case, Sharegate will not copy the view and you would get an error on the view with the following message :
An unexpected error occurred: Column 'THE COLUMN NAME' does not exist. It may have been deleted by another user.
Migrating the list and unchecking everything except custom views in the copy options should do the trick. If that does not work, go to the declaration settings of the destination list, check or uncheck the 'Automatically declare items as records when they are added to this list.' checkbox, save and then do the reverse operation. This will create all necessary fields. You can then migrate again and the views should copy over with all the fields.