Migration tool 1.0 v1.0 - beta

Release Notes

This script is not properly a plugin is just a tool for help migration. So for install it DON'T put it into your mod directory instead create a tools directory in your elgg root and place there the tool.


  1) Create the database where you will work
  2) Copy there the SQL dump from your elgg 0.9 install
  3) In the same database make a fresh Elgg 1.x install
  4) Move this directory under <elgg>/tools/
  5) Configure the general properties en the config file (specilly the site administrator id)
  6) Configure your migration modules (users and groups are a MUST)
  7) Run the migration script with the desired modules.
     For example
       php migrate.php users

This script has a modular approach, each functionallity you wants to migrate its a separed module, so would be easier for others to collaborate.

I'm currently testing it for a migration from a big site (12k users) and it works very well. There is some details for fix to make it work with Elgg 1.5.

Please read and follow the instructions inside the README file, try it and let me know your comments.

  • Sounds great!

    Semi-related question: If migrating users from another source, is the users table (forgot its name) the only table to be worried about or do you have to keep track of  some related tables too?

  • "elggusers_entity" ?

    Users from another will probably have associated data -- groups, blogs, anything *related*, to the user  that existed before. Ithink there should be a "worry" there somewhere ;-)

    Unless you want to migrate ONLY USER data - then no worries !

    [ note -- this is for Elgg v0.9 => v1.5 migration ]

  • Diego Andrés

    This is a very interesting, useful, smart tool. I'm just reading thru your code out of a curoius, academic interest. I do not have any use for it for myself.. but I admire you effort and hard work.

    Great stuff;-O


  • hi,

     i have a Elgg 0.9 site ,can anyone plz help me on this line Step 2:"Copy there the SQL dump from your elgg 0.9 install"

    how to do this?.i am using shared hosting of 1and 1

  • Could this be used to copy across only certain items like memberships?

  • Does anybody have better instructions on how to use this? The ones here do not help at all. I'm very confused on how to accomplish this using this code.

  • @Anton for migrate from 0.9 to 1.x there is some tables that need to take on mind. 0.9 tables relevant tables are: elgg_users, elgg_profile_data, and eventually (I didn't have it on mind) elgg_user_flags. Those tables must be handled by the 'users' module. Take a look of the code for get a better idea.

    @jededitor Yes, there is a 'migrate module' called relationships that handle friends and member relationships.

    @arkaroy You can generate a dump file using the command line or tools like phpmyadmin.

    @Jon Kemp Specifically what point is confussing for you?

  • I'm having issues with older users who were created in elgg v1.1 

    I cant message/comment on a blog-file/add them as a friend without being presented with a blank page.

    Will you Database migration tool fix the issues that these users have within the database?

    I can just delete the user and recreate them to solve the issue, but i'll then lose their data.

  • Is this creating a new Elgg installation?


  • Its when i'm upgrading my original v1.1 installation.

    A bit of background info : When I upgraded from v1.1 to v1.2, the upgrade didnt update the database, which I didnt notice until I tried to upgrade it(v1.2) to v1.5rc1 - therefore I had to work out what changes were maded to the database in the 1.1 to 1.2 upgrade, and make those changes manually, before then getting v1.5 to make the rest of the changes automatically. So my problem lies with the users who registered when using v1.1 / v1.2 when the database wasnt in the correct format, it was still in a v1.1 state - I need to work out what is missing from those users, or use a tool which will migrate the data to a full v1.5 state.

    Any help would be fab., cheers.

  • @munkee Unfurtanetely this script wouldn't help you with your problem. I suggest to take the upgrades list create the lacking tables and run upgrade.php between run and run. Lucky it would help you.

  • There is a new Elgg plugin to migrate all data from Elgg 0.9 to Elgg 1.5. It has been released about 4 hours ago. Please take a look at it. Perhaps you could make some magic mix to get the best results. Please, tell us what you think about this and what would be the best way to do the upgrade from 0.9 to 1.5. Thanks a lot in advance.

  • could this be used to migrate or move a site from a local server to a live server?

    The site is built on the latest release 1.5

    HELP PLEASE or advice me on how to do that.


  • USE CAUTION: This script does work. I migrated 800+ users from Elgg 0.9x to a new 1.5 install (some minor tweaks to script). Word of cuation though - disbale notifications before batch importing relationships unless you want to resend a LOT of emails saying "X has made you a friend..."


  • Category: Uncategorized
  • License: GNU General Public License (GPL) version 2
  • Updated: 2014-11-17
  • Downloads: 808
  • Recommendations: 0

Other Projects

View Diego Andrés Ramírez Aragón's plugins