Migration Tool Guide


Force.com Migration Tool

Force.com Development as a Service (DaaS) is a suite of features enabling the use of traditional development practices for creating on-demand applications. With the point-and-click tools in the Salesforce Web application, you can create and modify your application within an organization - creating custom objects and fields, workflow rules, Apex classes and triggers, user interfaces, and many other Force.com components.

DaaS expands the development process to include external tools, such as code editors, source control systems, and batch scripts to facilitate development and deployment.

Many of the Force.com components used to build an application are captured as metadata within the platform. An important use of DaaS is migrating metadata components from one organization to another. For example, this is needed when making setup changes in a sandbox organization and then promoting those changes to a production environment.

Metadata API

The metadata API contains a set of objects that manage setup and customization information (metadata) for your organizations, and the SOAP calls that manipulate those objects.

With them, you can:

  • Work with setup configuration as XML metadata files
  • Migrate configuration changes between organizations
  • Create your own tools for managing organization and application metadata

Though you could write your own client applications for using the Metadata API SOAP calls, we provide the Force.com Migration Tool to retrieve and deploy Apex and metadata.

Force.com Migration Tool

The Force.com Migration Tool is a Java/Ant-based command-line utility for moving metadata between a local directory and a Force.com organization. The Force.com Migration Tool is especially useful in the following scenarios:

  • Development projects - where you need to populate a test environment with large amounts of setup changes - Making these changes using a Web interface could take a long time.
  • Multistage release processes - A typical development process requires iterative building, testing, and staging before releasing to a production environment. Scripted retrieval and deployment of components can make this process much more efficient.
  • Repetitive deployment using the same parameters - You can retrieve all the metadata in your organization, make changes, and deploy a subset of components. If you need to repeat this process, it's as simple as calling the same deployment target again.
  • When migrating from stage to production is done by IT - Anyone that prefers deploying in a scripting environment will find the Force.com Migration Tool a familiar process.

To get started, read one of the migration guides referenced in the Resources section below. They include pointers to installing the tool, configuring and using the tool for your own metadata.

How to Install

Here's an excerpt from the docs on how to download and install the Force.com Migration Tool:

  • Log into a Salesforce.com organization on your deployment machine.
  • Click Setup | Develop | Tools, and then click Force.com Migration Tool.
  • Save the .zip file locally and extract the contents to the directory of your choice.
  • Copy ant-salesforce.jar and paste into your Ant installation's lib directory. The lib directory is located in the root folder of your Ant installation.

Official Documentation

Force.com Migration Tool Guide
Winter '10: HTML | PDF
(Audience: Developers) Reference for the Force.com Migration Tool, a Java/Ant-based command-line utility for moving metadata between a local directory and a Salesforce organization.


Use the Apex Code Development Discussion Board for posting questions, ideas and tips about the Migration Tool