Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

This documentation is a work in progress.

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

Migrate Database

Dump r5 database (mysql on pawpaw)

mysqldump -u avalonweb -p avalonweb -no-create-info --complete-insert --tables annotations api_tokens bookmarks courses identities ingest_batches playlist_items playlists role_maps  users > /tmp/avalon.r5.dump.sql


Load to r6 database (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.

SSH into your r6 box, wipeout the database, and load the sqlite dump into your dbconsole.

#convert mysql dump to mysqlite if you need to import into mysqlite (dev testing)
chmod +x mysql2sqlite
./mysql2sqlite avalon.r5.dump.sql > avalon.r5.dump.sqlite
 
# ensure that Fedora, Solr, and the DB are clean
# it will ask you to verify the targets are correct
bundle exec rake avalon:wipeout  
 
#go into the database console and import sqlite data
bundle exec rails dbconsole 
sqlite> .read /tmp/avalon.r5.dump.sqlite

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

Add yourself back in as administrator in the rails console

g = Admin::Group.find('administrator')
g.users += ["archivist1@example.com"]
g.save!

 

Migrate Fedora Objects

SSH tunnel or open up your fedora3 server to your new Avalon app:

#port 9999 stands for your local mirror of your fedora3.host:8983 import source
#if 9999 doesn't work, try another port nearby
ssh -L 9999:localhost:8983 user@fedora3.host

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.

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

 

Run the migration! You can watch it run on your target avalon by going to <you avalon url>/admin/migration_report

bundle exec rake avalon:migrate:repo

After this command is finished, look through the report and see which items have failed and troubleshoot using the errors listed.


Migrate Database Tables

# Run script to map fedora 3 pids in database to newly minted fedora 4 noids
bundle exec rake avalon:migrate:db

 

Delete Failed Bookmarks

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

 

 

 

  • No labels