This migration process currently has known issues. For Example, some metadata is not migrated or is migrated incorrectly. The official release of and support for migrating Avalon 5.x content to Avalon 6.0 is forthcoming, and will occur shortly following the release of Avalon 6.0. This document is a work in progress.
Prepare R6 for migration
The option to upgrade in place is not available to go from Release 5 of Avalon to Release 6. Instead, follow these steps.
- Back up your Avalon 5.0 installation
- Stand up an R6 instance following the Manual Installation Instructions and run it concurrently with an existing R5 instance.
- Make R5 fedora accessible to the server running the R6 instance. (See the fedora migration step below.)
- Use the same authentication scheme for R6 as the one R5. Otherwise there could be issues with users/roles.
- Ensure the R6 instance is empty. Run wipeout rake task to clean out R6 database, solr, and fedora.
Migrate Config Files
- config/authentication.yml – has a new structure with a different section for each rails environment. Edit your authentication particulars to incorporate this new structure. An example is found in config/authentication.yml.example.
- config/controlled_vocabulary.yml – should be copied from R5 to R6 to support data migrations
- config/initializers/permalink.rb – if in use, it will likely need to be adjusted to refer to objects in the Fedora 4 way (id, instead of pid)
Dump R5 database
Data from your R5 database will be loaded directly into your R6 database then migrated for R6 in a later step. Role_map data will be needed in R6 for the Fedora migrate step, so it needs to be imported first.
Load to R6 database
SSH into your R6 box and load the R5 database dump.
If you are a developer wanting to test your migration on sqlite locally...
Sqllite3 doesn't like mysql dump files so a transformation script needs to be run on it. Download https://raw.githubusercontent.com/dumblob/mysql2sqlite/master/mysql2sqlite, make it executable, and run it on the dump file.
".read" returns "memory", which is good.
Migrate Fedora Objects
SSH tunnel or open up your fedora3 server to your new Avalon app:
keep the ssh mirror running in another tab as you do the next steps.
Setup config/fedora3.yml in your Avalon 6 app
The fedora3.yml should work without change, but if you do have trouble, here's an example fedora3.yml for the avalon demo server.
Run the migration!
You can watch it run on your target avalon by going to <your avalon url>/admin/migration_report .
After this command is finished, look through the report and see which items have failed and troubleshoot using the errors listed.
Migrate Database Tables
Delete Failed Bookmarks