Finished migrate script

This commit is contained in:
2025-02-20 23:56:55 +11:00
parent 79838b4aae
commit 5d0a26579b
3 changed files with 30 additions and 70 deletions

View File

@@ -4,7 +4,7 @@
set -e
if [[ -z "$1" ]]; then
echo "Usage: $0 <environment> <version>"
echo "Usage: $0 <environment> up-to|down-to <version>"
exit 1
fi
ENVR="$1"
@@ -12,57 +12,53 @@ if [[ "$ENVR" != "production" && "$ENVR" != "staging" ]]; then
echo "Error: environment must be 'production' or 'staging'."
exit 1
fi
if [[ -z "$2" ]]; then
echo "Usage: $0 <environment> <version>"
echo "Usage: $0 <environment> up-to|down-to <version>"
exit 1
fi
VER="$2"
CMD="$2"
if [[ "$CMD" != "up-to" && "$CMD" != "down-to" ]]; then
echo "Error: Command must be 'up-to' or 'down-to'."
exit 1
fi
if [[ -z "$3" ]]; then
echo "Usage: $0 <environment> up-to|down-to <version>"
exit 1
fi
VER="$3"
re='^[0-9]+$'
if ! [[ $VER =~ $re ]] ; then
echo "Error: version not a number" >&2; exit 1
fi
BACKUP_FILE=$(/bin/bash ./test.sh "$ENVR" "$VER" | grep -oP '(?<=Backup created: ).*')
BACKUP_FILE=$(/bin/bash ./backup.sh "$ENVR" "$VER" | grep -oP '(?<=Backup created: ).*')
if [[ "$BACKUP_FILE" == "" ]]; then
echo "Error: backup failed"
exit 1
fi
# Get current datetime in YYYY-MM-DD-HHMM format
TIMESTAMP=$(date +"%Y-%m-%d-%H%M")
# REAL VALUES
# ACTIVE_DIR="/home/deploy/$ENVR"
# DATA_DIR="/home/deploy/data/$ENVR"
# BACKUP_DIR="/home/deploy/data/backups/$ENVR"
# UPDATED_BACKUP="$BACKUP_DIR/${VER}-${TIMESTAMP}.db"
# UPDATED_COPY="$DATA_DIR/${VER}.db"
# UPDATED_LINK="$ACTIVE_DIR/${VER}.db"
# #####################################################################
# TEST VALUES
ACTIVE_DIR="./deploy/$ENVR"
DATA_DIR="./deploy/data/$ENVR"
BACKUP_DIR="./deploy/data/backups/$ENVR"
ACTIVE_DIR="/home/deploy/$ENVR"
DATA_DIR="/home/deploy/data/$ENVR"
BACKUP_DIR="/home/deploy/data/backups/$ENVR"
UPDATED_BACKUP="$BACKUP_DIR/${VER}-${TIMESTAMP}.db"
UPDATED_COPY="$DATA_DIR/${VER}.db"
UPDATED_LINK="$ACTIVE_DIR/${VER}.db"
# back to real code
# ####################################################################
cp $BACKUP_FILE $UPDATED_BACKUP
# ####################################################################
# do migration
failed_cleanup() {
rm $UPDATED_BACKUP
}
trap 'if [ $? -ne 0 ]; then failed_cleanup; fi' EXIT
echo "Migration in progress"
# TODO: if failed delete updated_backup
echo $UPDATED_BACKUP $CMD $VER
./psmigrate $UPDATED_BACKUP $CMD $VER
if [ $? -ne 0 ]; then
echo "Migration failed"
exit 1
fi
echo "Migration completed"
# end migration
# ####################################################################
cp $UPDATED_BACKUP $UPDATED_COPY
ln -s $UPDATED_COPY $UPDATED_LINK