Hi Experts,
I am working with a client that is looking to clean up their current Dynamics CRM 2015 on-premises environments in preparation for migration to the cloud. They are validating the entities / fields utilized by the business with a goal to remove and clean up any erroneous fields and entities not utilized and verify before starting the migration effort.
Here is the situation... All of the Solutions in their current environment are "unmanaged" with the fields existing in all environments in this fashion. With this said, If I want to delete a field I figured I will not be able to do this through a managed solution because the field already exists in the Default solution since everything was deployed as unmanaged.
I am planning to following this approach to accomplish the customer's business requirements.
Example - Removing a custom field for "Customer Segment" from Account Entity
Now this would happen for many fields, not one at a time but trying to represent the process flow...
Step 1 – Remove Dependencies & Prefix Field
Remove the dependencies on the field including reports, forms, views, etc. Change the Display Name on the field to “D – Customer Segment”. Verify in Development environment.
Step 2 – Backup Test Environment
Backup the test environment in case any issues with the promotion of the solution (since it will be an unmanaged solution and no “backout” would exist)
Step 3 – Promote Unmanaged Solution
Promote the unmanaged solution to the target environment (i.e. Test) and verify the changes work as expected with the fields removed from all forms, views, reports, workflows, etc. The field should be changed with this migration to a display name of “D-Customer Segment” as well.
Step 4 – Remove “D-Customer Segment” field
Remove the field from the target environment in the default solution manually which will remove the field from the default solution.
Step 5 - Verification
Verify the target environment that all dependencies to this field that still exist work as planned.
Step 6 - Remove field from Source environment
Remove the fields from the Source environment. My thought here is we would delete the fields from the source environment as well when complete (or we can copy the solution from Target down to Source?
I really appreciate any feedback on this as I want to follow the right approach here.