3

I have several questions regarding what can and cannot be done using Eclipse to deploy.

In my next deploy I will be implementing some significant changes to our current schema. This was necessary due to our company's change in account management. I won't go into details here, but I will say that it will require us to perform massive changes to our current data, including moving data from one object to another, and changing the relationships between certain objects as well. We will first be performing\testing these data changes in a full copy sandbox.

  1. What would be the best and most efficient approach to this ? Is it possible to perform the data changes in the full copy sandbox and then migrate the data into Production from there ? I'm assuming it is not possible, but I wanted to ask just in case I was missing something. What would you do ?

  2. What can/cannot be done through Eclipse in regards to User Licenses, Roles, and user profile information ? Is it possible to change a user’s role through Eclipse ? I know we can deploy Roles and Permission Sets. I also know we can do mass Permission Set assignments using the PermissionSetAssignment object through Data Loader. Can something similar be done with Licenses and Roles ?

  3. Is it possible to delete fields or validation rules by performing a delete in Eclipse ? I would like to delete a field once in sandbox and then deploy that object to Production and not have to delete the fields again in Production. I have tried this but it doesn't seem to work. Is it possible ?

Thank you very much for your insight and feedback. I really appreciate your time.

2

I bet you will have to jump through a lot of hoops to manifest all the changes--especially if you the objects at hand have Validation Rules and associated Apex Classes and Triggers. But since you have a Full Sandbox at your disposal, which is a literal carbon copy (data and all) of your production, you will have a working modal to see how to implement the changes in a good way.

My first suggestion is to refresh your Full Sandbox before you start rolling out the changes. This way the Sandbox will fully mimic your Production org (except for newly created records).

1-ish

Then, start bringing over your changes from the the Eclipse IDE. If your scenario is even slightly complex, you will probably have to bring over all of your changes in stages. (And remember, every time you try to deploy a set of changes, ALL of your test code must pass.) You'll probably find that you need to make Field changes first, and then you can add your code, but each situation is different.

I've found that the IDE is much better at deploying changes to Object Metadata compared to Change Sets (though the IDE can only create fields, not delete any (easily)).

2

I am nearly sure you can access any Standard or Custom Object via IDE (and API) including User, Profile, etc. Test to be sure.

3

Generally, it is not possible to delete Metadata via the IDE. I've tried to do it before, like trying to delete fields, but it was more complicated than I cared to do.


If you are deploying NEW objects and Apex code, it might be beneficial to create a Package. They are really easy to create, and they bundle all of your objects + fields + code together in a matter of (order of 10) clicks. But if you are modifying current Standard or Custom objects, Packages might be more of a nuisance, and the IDE and Change Sets are probably an easier way.

  • Thank you very much for your response. I will definitely be jumping through hoops. I have no doubt about that. You mention that deletions cannot be done through Eclipse. I kinda figured that, but wasn't sure. But you mention Change Sets then. Can Change Sets make deletions ? I am considering packages. I think the biggest benefit they would give right now would be to allow me to immediately duplicate deploys to my Stage and then to my Prod without needing to remember which components were involved. – Zoom_v Sep 12 '13 at 16:17
  • Another thing : Has anybody deployed Record Types ? I know they're available in Eclipse, but I've heard contradicting responses regarding them. Some seem to think it's not a good idea to deploy them and to put them in manually, while others say it's ok to deploy them. – Zoom_v Sep 12 '13 at 16:18
  • I don't think Change Sets can delete fields. It is possible, though semi-difficult, to delete fields from Eclipse. It's definitely possible with Metadata API, but you gotta weigh how much work it'd take to do it "manually" vs the methods mentioned above. Often, I bite the bullet, and just do it manually -- it gets the job done. – Scott Pelak Sep 12 '13 at 16:22
  • 1
    And yup, I use Record Types all the time. Personally, I manually alter my Record Types, though I am working on doing some automatic Record Type creation (with a custom data loader we built). Though BEWARE. There are a lot of permissions/settings that come along with Record Types, and if you want to create them remotely, I think you can only create a Record Type for a certain profile/(user too?). Then you have to manually go in and allow it for all the other profiles/users. – Scott Pelak Sep 12 '13 at 16:24
  • 1
    Change sets cannot delete; they are strictly additive and not destructive. – Mike Chale Sep 12 '13 at 17:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.