Forums | Mahara Community
18 July 2013, 3:38 AM
I am currently involved in a project to migrate an externally hosted mahara1.3.6/MySQL instance to our own infrastructure. We've installed mahara, and so now have some idea of how it all fits together, but haven't yet migrated any user data into it. If possible we'd also like to move to postgreSQL
I understand there are 2 possible options:
- Use a mySQL data dump and copies of the docroot and dataroot to clone the system.
- Export user data as LEAP2A, and then import into our new install.
Does anybody have any experience with migrating data, and any advice on the best way to go in terms of method? If we use LEAP2A, could we move to postgreSQL and a later version of mahara or is this likely to be problematic?
We don't have the data from the current system yet, but if we decide on the most appropriate method then we can ensure we ask for the correct files/ format etc.
19 July 2013, 2:18 AM
Both options are possible, but whether you go with the Leap2A exports / imports depends on a few things:
- How many users do you have? The export is usually only good for a few users. If you have thousands, it might take a while to export and import than into the system. We do have the experimental feature of the bulk export and import (only for site admins). Some information on that is at http://manual.mahara.org/en/1.7/administration/experimental.html and I believe this already exists in 1.3.
- The Leap2A export only exports individual portfolios. If you want to bring along group or site content, a migration or DB dump and uploading of site files would be the only solutions.
Unfortunately, I cannot comment on migrating from MySQL to PostgreSQL. We haven't had the need to do that for a client yet. PostgreSQL is certainly our favorite DB. In general, using a DB dump and site file dump to restore the data in another instance does work. We have instructions on doing that for PostgreSQL on a local install on the wiki if you want to give it a go for testing purposes.
19 July 2013, 11:15 PM
There are a few problems you would maybe face in the procedure you would like to do aka switching from MySQL to Postgre SQL. First your are running an old version of Mahara. New Mahara versions allow bulk export and import in Leap2a which Mahara 1.3.6 doesn't allow. Moreover I am not sure how the Leap2a used in 1.3.6 is compatible with import functions in more recent Mahara versions. Theoretical it should be.
But upgrading from 1.3.6 to 1.7 is not always straight forward and I have faced trouble in upgrading my server regularly version by version. The more important problem was that the database scheme was not upright with the scheme or the last version. It has happened when I switched from 1.5 to 1.6. The solution was to repair and update the database scheme which was easy with the right tool.
I would say that once you are up-to-date with your Mahara you could export all your users' portfolios with a bulk export in Leap2a and then reimport them in one go in a new Mahara (of the same version) using PostgreSQL.
Be aware that importing data from a Leap2a file creates users with a new portfolio. So doing so is really relevant when you create a new group of users or transfer all the users from one Mahara server into another.
You could also export your database content from MySQL and reimport it into postgreSQL but the syntax is similar and may cause issues.
You could maybe find more info on a transfer from MySQL to postgreSQL on the Moodle forums. The community is bigger and maybe someone already has done this on his/her server.
20 July 2013, 12:28 AM
Thanks for the replies.
I think, based on your advice, it's probably worth us using a mySQL dump and file copy first, to get an equivalent system to the current externally hosted system up and running. Once we have done this we can then look at upgrading and migrating to posgreSQL.
A post by Deleted user was deleted