* Audience: Developers and coders, Site administrators
* Last modified: December 27, 2010
Drupal Migrating using their company platforms often requires information about PHP and SQL.
Drupal Migration entailsmappingrecords fields from the original application's database into Drupal's database. For a lot of applications this can be abasic task, with equipment or scripts offered to do the Drupal migration. Otherprogramscould have complex database schemas, lack documents, and are generally uncommon enough that you have no tools available.
The easiest method todetermine if tools or textsexists for your application is to search on Google. For instance a search such as "migrate WordPress Drupal" returns lots of useful links.
If you don't see any tools designed for migrating through your application to Drupal, you will want tofamiliarize yourself with Drupal's database schema, along with the schema of the application you are Drupal migrating.
You need to map all your current users into Drupal's users table. When you have different roles (for example, read-only, author, editor/reviewer, admin), you will need to assign your users to correctly set up and configured roles in Drupal. This can mostly be done through Drupal's admin interface, although if you have a large number of users, you might find a way to automate the assignment. Editing each user yourselfmight becumbersome.
If the content being migrated is text, it would likely map to the node and node_revisions tables, with comments inside the comments table.
It's usuallypossible to import databases (MySQL, etc.) made up of content and users from your previous CMS into Drupal.
This can be done by exporting the repository first to CSV (comma-separated values) or similar files. Tools for example phpMyAdmin for MySQL might makethis easier. You can then import these files with import/export modules such as Node Import, User Import, CSV Parser, Migrate, or Transformations (see a module comparison).
Note that content is often imported as Content Construction Kit (CCK) custom articles types. If your tables appear in your Drupal database, you can use the Table Wizard to expose them to Views, and then use the Migrate module to copy the data through the old columns on the CCK content types. Also, the Node Convert module can convert imported node types to additional node types; it supports, at least, CCK fields, book and forum nodes, and in all probability others like blog, etc.
In casethat a chosen import component is not yet ready for the Drupal version you would like to use, then you will find the workaround of putting in a site running on a previous Drupal version just for the import, and then upgrading it.
On the flip side, in case youwould rather migrate data into Drupal developing a custom PHP script, see for example Migration tips for some techniques.
Support for Drupal migrating is available on the Drupal.org forum, Converting to Drupal. See also the Drupal group Content Drupal migration, import, and export, for discussion of guidelines in content Drupal migration. Drupal Groups also has a comparison of modules for importing and exporting data.
Finally, look in the Drupal CVS contributions repository for a subdirectories named mt2drupal (code for migrating from Movable Type to Drupal), phpbb2drupal (SQL code for migrating from phpBB to Drupal) and slash2drupal (Slash 2.2 to Drupal) for SOME IDEAS. None more likely to be up to date with the latest releases of Drupal and also the respective source systems, in order that they will NOT help latest variationsof any of the foregoing. However, they're going toensure you get close.