Tell me more ×
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It's 100% free, no registration required.

I was recently told ( Deleting a Class with IDE - cannot delete from Production? ):

You cannot delete a class in production directly. You will need delete *the class from your sandbox* and then deploy the deletions to your production org. When you deploy from sandbox to production, the missing classes will come up in red and you can choose to deploy these deletions to Production.

However, I'd like some clarification because finding information on how to do this is like pulling teeth, unfortunately. Am I supposed to:

  1. Delete the Trigger in Sandbox
  2. Make a deployment package in Sandbox
  3. Add the Trigger which is going to be listed in RED now
  4. Deploy (and that deletes it from Production)?

I am not seeing deleted Triggers in Red in Sandbox. Are they NOT listed under "Triggers" for deployment, but elsewhere? Frustrated = true. Does this ONLY apply to Classes??

UPDATE: I just tried again, with a CLASS, and it still doesn't show up at all as a Deployable package (red or not) after I delete it in the Sandbox.

UPDATE 2: I was just able to delete a class, that I know was written via IDE from a third party, in both Sandbox and Production. So now I'm wondering if it has to do with where it was originally deployed from (if from IDE, IDE can delete it - it from Sandbox, you have to jump through hoops). :-(

share|improve this question

2 Answers

up vote 6 down vote accepted

easy way to do it is:

  1. Use IDE to create a new project and download all classes from production
  2. In the class you want to delete, open the metadata item and change the status to deleted.
  3. save to server

An example below observe the status

     <?xml version="1.0" encoding="UTF-8"?>
     <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
     <apiVersion>23.0</apiVersion>
     <status>Deleted</status>
      </ApexClass>

I request double check and try this technique in sandbox to become comfortable then go for attempt in prod .Double check before deleteing

share|improve this answer
I shall try this. Good Lord, I hope it's this simple... – AMM Dec 28 '12 at 15:56
1  
This works flawlessly. Thanks so much. I can finally get rid of about 10 classes and 20 triggers that have previously only been "commented out". :) – AMM Dec 28 '12 at 16:11
thanks and enjoy!! – Mohith Kumar Dec 28 '12 at 16:17

The way I've deleted triggers/classes from production is to delete the trigger/class from the sandbox and then deploy the triggers/classes folder. When you do that, eclipse will present you with the diffs between the source (sandbox) and target (production) and the deleted classes/triggers will be displayed there.

You can't deploy a deleted trigger/class in isolation, as it doesn't exist in the sandbox and thus there is nothing to deploy.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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