How to package/deploy a content type with removed fields using MSM

For v6.x and above, if you are going to use MSM to deploy a change to an existing content type where you’ve removed a field from the content type AND the corresponding back-end column as well, it is advised to follow this practice:

  1. Package the content type WITHOUT including the table schema
  2. Package the schema in a separate CUSTOM package - this can be in a different archive or the same archive, but must be installed AFTER the content type package.

If you include the schema in the same package as the content type, you will get an error that includes the text “no such column”.

If you are deploying a change to a content type where you’ve added a field and back-end column, then in this case you SHOULD include the schema in the same package, or else put the schema in a separate package that is installed BEFORE the content type.

Finally, if you are deploying content type changes that include both field additions and deletions, you have to be really careful. When modifying the source content type in the workbench, you should choose NOT to remove the storage when deleting the field from the content type, and then treat it like adding a field (package the schema with the content type). You can always modify the source table to remove the column and then use MSM to deploy the schema AFTER the content type has already been successfully updated on the target server.