General outline
- Spin up machine
- Deploy Sufia
- Ensure apache is off
- Activate maintenance mode on old server
- Move over minter
- Fedora Export - see below
- migrate postgres
- Fedora Import - see below
- run (currently nonexistent) verification job
- migrate dump.rdb
- Reindex solr
Fedora export
In sufia 6 instance:
- Run audit script
RAILS_ENV=production bundle exec sufia_survey -v
- Run json export
$ RAILS_ENV=production bundle exec sufia_export --models GenericFile=Chf::Export::GenericFileConverter,Collection=Chf::Export::CollectionConverter
- Open up fedora port to the other server so it can grab the binaries
- Change all the 127.0.0.1 URIs to reflect actual host, e.g.
$ find tmp/export -type f -name "*.json" -print0 | xargs -0 sed -i "s/127\.0\.0\.1/staging.hydra.chemheritage.org/g"
- Move the resulting directory full of exported data from tmp/export to the new server's tmp/import (or wherever desired; this can be provided to the import script)
$ tar -czf json_export_201611141510.tgz tmp/export$ scp json_export_201611141510.tgz new_box_ip:/opt/sufia-project/.
Fedora import
On sufia 7 instance:
- unpack the exported json files
cd opt/sufia-project/mkdir current/tmp/importtar -xzf json_export_201611141510.tgz
mv tmp/export/* current/tmp/import/
rm -rf tmp
- configure sufia6_user and sufia6_password in config/application
- run the import
$ RAILS_ENV=production bundle exec sufia_import -d tmp/import --json_mapping Chf::Import::GenericFileTranslator=generic_file_
Misc.
Postgres
You can get a list of all tables and fields with the command:
SELECT * FROM information_schema.columns WHERE table_schema = 'public'