mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00

git-svn-id: http://scm.dspace.org/svn/repo/trunk@1416 9c30dcfa-912a-0410-8fc2-9e0234be79fd
94 lines
3.0 KiB
Bash
Executable File
94 lines
3.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
###########################################################################
|
|
#
|
|
# update_handle_prefix
|
|
#
|
|
# Version: $Revision$
|
|
#
|
|
# Date: $Date$
|
|
#
|
|
# Copyright (c) 2002, Hewlett-Packard Company and Massachusetts
|
|
# Institute of Technology. All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met:
|
|
#
|
|
# - Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
#
|
|
# - Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# - Neither the name of the Hewlett-Packard Company nor the name of the
|
|
# Massachusetts Institute of Technology nor the names of their
|
|
# contributors may be used to endorse or promote products derived from
|
|
# this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
# HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
|
# DAMAGE.
|
|
#
|
|
###########################################################################
|
|
|
|
# Shell script for updating a handle prefix (e.g. when moving from development
|
|
# to production). Must be run as the dspace database user or equivalent.
|
|
#
|
|
# NOTE: Currently only compatible with installs running a PostgreSQL database
|
|
#
|
|
|
|
# validation and tool checking
|
|
if [ ! "$1" -o ! "$2" ]
|
|
then
|
|
echo
|
|
echo "Usage: update_handle_prefix <old handle> <new handle>"
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
which awk > /dev/null
|
|
if [ $? -ne 0 ]
|
|
then
|
|
echo
|
|
echo "awk not found in your path, please add to your path before running this script"
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
which psql > /dev/null
|
|
if [ $? -ne 0 ]
|
|
then
|
|
echo
|
|
echo "psql not found in your PATH, please add to your PATH and re-run script"
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
# start the update
|
|
echo "If you continue, all handles in your repository with prefix $1 will be updated to have handle prefix $2"
|
|
echo -n "Continue? [y/n]: "
|
|
read choice
|
|
if [ "$choice" = y -o "$choice" = Y ]
|
|
then
|
|
# get the length of the old prefix for use in the overlay function
|
|
oldPrefixLen=`echo $1 | awk '{print length($1)}'`
|
|
echo "update handle set handle=overlay(handle placing '$2' from 1 for $oldPrefixLen) where handle like '$1%';" | psql
|
|
break
|
|
else
|
|
echo
|
|
echo "Update cancelled"
|
|
echo
|
|
break
|
|
fi
|