Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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
Warning
Info

For upgrades from Avalon 5 to 6.1, perform the actions in Upgrading Avalon 6.0 . This document is a work in progressto Avalon 6.1 after completing the migration detailed on this page.


See What's New in Avalon 6 for more details.

...

  • config/authentication.yml  – has a new structure with a different section for each rails environment. Edit your authentication particulars to incorporate this new structure.  See example: 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)

...

Expand
title...Follow these sqlite instructions

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.

Code Block
chmod +x mysql2sqlite
./mysql2sqlite avalon.r5.dump.sql > avalon.r5.dump.sqlite
 
#then on r6
bundle exec rails dbconsole
sqlite> .read /tmp/avalon.r5.dump.sqlite

".read" returns "memory", which is good.

Migrate Fedora Objects

If migrating from fedora3 on a different host, SSH tunnel or open up your fedora3 server to your new Avalon app

...

Choose an available local port to use as a mirror of your fedora3.host:8983

...

import

...

source

...

#

...

In

...

this

...

example

...

9999

...

is

...

used.

...

It

...

must

...

match

...

the

...

port

...

used

...

in

...

fedora3.yml

...

in

...

the

...

next

...

step

...

Code Block
ssh -L 9999:localhost:8983 user@fedora3.host

keep the ssh mirror running in another tab as you do the next steps. Or run it in the background

Code Block
ssh -fN -L 9999:localhost:8983 user@fedora3.host


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.

Code Block
development:
  user: fedoraAdmin
  password: <password>
  url: http://localhost:9999/fedora
test:
  user: fedoraAdmin
  password: <password>
  url: http://localhost:9999/fedora
production:
  user: fedoraAdmin
  password: <password>
  url: http://localhost:9999/fedora

Configure IDs (optional)

Avalon 6 has adopted Noids for object ids instead of the default Fedora 4 UUIDs.  All objects migrated from Avalon 5.x to Avalon 6 will be assigned a new id.  The old Avalon 5.x Fedora 3 PID will be preserved using the prov:wasDerivedFrom predicate.  Avalon uses active_fedora-noid's default template, but this can be overwritten in config/initializers/active_fedora-noid.rb using the gem's instructions.

Run the migration!

The repository migration tool has many options but it can be run with default options as shown.

Code Block
bundle exec rake avalon:migrate:repo

You can watch it run on your target avalon by going to to <your avalon url>/admin/migration_report .

Code Block
bundle exec rake avalon:migrate:repo

 Go here to find more information on how to read the report and command output.  After this command is finished, look through the report and see which items have failed and troubleshoot using the errors listed.

...

Code Block
#This will delete any bookmarks that point to failed items
bundle exec rake avalon:migrate:bookmark_cleanup