The three tables are:
Using com_migrator to make 1.5 Migration Files
Our first work around to try is to build these three big tables separately in the migrator tool, and then paste all the SQL files together to make one big one.
As you can see from the screenshot, we deselect these tables to make the SQL migraiton file much smaller. Which we can then download.
Now we can go back and try to create the three user tables one at a time to minimize the possibility of the migrator stopping.
Now, doing this, my migrator component still failed on the jos_users table. So we have to try another workaround – exporting jos_users from phpMyAdmin.
When we do this we need to make sure that we do “complete inserts” which is the same format that the migrator component creates.
Now that we have our 3 files, the two from the migrator component and the one from phpMyAdmin, we can glue them together.
Making the Migrate.sql file by Hand
With our three files, we can copy and paste all of the information into a 4th file.
After our cutting and pasting, we now have a big migration.sql for our Joomla 1.5 site.
During the rest of this process, we had huge problems because two lines were somehow missing from the migration dump. These two lines were the ACL maps that gave the Super Administrator the correct user rights!
Check in jos_core_acl_groups_aro_map to see the user id (let’s call it XX that your super administrator user has. Then check that you can see this line:
INSERT INTO jos_core_acl_groups_aro_map (`group_id`,`section_value`,`aro_id`) VALUES ( ’18’,”,’XX’);
If you can’t find it (mine was lost somehow), then you ill be locked out of you migrated site!
We can then upload the migration.sql file to our host using FTP. Remember, we are uploading it because it is too large to do via http during the 1.5 installation/migration process.
Now that we have uploaded our migration file, we can run the installation wizard for Joomla 1.5. On the last step we need to make sure that we have uploaded the file to the right place, and given it the right name.
In the video screencast that follows, you’ll see I start with it in the wrong place and get errors immediately. RTFM!
- The file needs to be called migrate.sql
- It needs to be in /installation/sql/migration/
- That folder needs writable permissions (I used 777)
At this point when we run the last step of the installation, we get an error on the backlinks table. To solve this we use a very crude workaround of simply re-running the migrator tool without that table. We plan to use 301 redirects in our htaccess file to redirect 1.0.X legacy links to 1.5, so we won’t need the backlinks plugin.
Once we have rebuilt the migrate.sql file and uploaded it, we can try the migration process again.
Duplicate Entry for Key
When we redo the installation/migration, we now get a new error:
MYSQL: Duplicate entry ‘1’ for key ‘1’
It turns out that this error has been previously found a few times on the forums. The reason is that the Joomla 1.5 installer actually creates a database in step 4.
To fix the problem, any time you are re-doing a migration in the 1.5 installation wizard you need to tell it to drop tables in step 4 (database) AND
Once we have got rid of the duplicate key/table error, there is still anotehr that pops up. This is related to jos_menu.
Again, searching in the Joomla forums, we find that step 4 of the installation will ALSO create an entry into jos_menus table. We can see that we can get rid of it by going into phpMyAdmin immediately after step 4 and empty/truncate the jos_menu table.
So if you are getting errors during migration associated with this, try these steps:
- Redo the installation
- In step 4 (database) select drop table in advanced
- Click next
- Go into phpMyAdmin and truncate the jos_menu table (empty it)
- Finish the installation/migration
At this point, if you have gone through your installation/migration process, you should see the gratifying text of Loading SQL file…. Please wait.
When you see “migration Successful” you can click next and you have to re-enter the site name and super administrator password.
In my particular example/host, I had to copy the configuration.php information and upload that file via FTP, and don’t forget to delete the installation folder!
We should then see our new Joomla 1.5 migrated site!
Now, at this point (remember that spoiler alert?), I started having some user issues and was unable to login to the backend of my migrated site.
The moral of this process is persistence. If you get an error during 1.5 migration, you can usally find that someone else might have had the same problem. Search in the Joomla 1.5 migration forum for an answer!
Unable to Log into backend after migration
At this point during my 1.5 migration, it seemed that anyone except users was unable to login. I tried resetting my password by appending the login URL to my site:
Resetting my password didn’t work though, so I had to bring in the big guns, our friendly Joomla Expert – Phil Taylor!
On Phil’s investigation, as we described earlier in the article, the ACL mapping had been lost for all administrators and their permissions had revert to “user”.
The fix was to modify the Super Administrator record within the jos_core_acl_groups_aro_map table by changing the row where aro_id=10 to have a group_id = 25.
After figuring this out, we now had our migrated Joomla 1.5 site, complete with 56,000 users and several hundred articles.
See this part of the Day 3 tutorial as a video screencast (Unable to Log into backend after migration)
Over the next few days we will start refining the new site as we want it.