s4

changeset 813:04034092338d feature-world

Removing group of previous world, confirmation added
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 15 Jun 2020 20:23:30 +0900
parents 31df689bad63
children 66d9b07edcc2 ed2c8aab742d
files s4-migrate.sh
diffstat 1 files changed, 16 insertions(+), 7 deletions(-) [+]
line diff
     1.1 --- a/s4-migrate.sh	Mon Jun 15 19:55:07 2020 +0900
     1.2 +++ b/s4-migrate.sh	Mon Jun 15 20:23:30 2020 +0900
     1.3 @@ -140,8 +140,8 @@
     1.4      for arid in `cat $tmpd/repl.art.rowid`; do
     1.5        newval=`query "SELECT hex(val) FROM dst.article_s WHERE rowid=$arid;" \
     1.6                | unhexize | sed -Ef "$sedfile" | hexize`
     1.7 -      echo "UPDATE dst.article_s SET val=X'$newval' WHERE rowid=$arid;" >>$sql
     1.8 -    done
     1.9 +      echo "UPDATE dst.article_s SET val=X'$newval' WHERE rowid=$arid;"
    1.10 +    done >$sql
    1.11      # Rewrite blog-links in the group
    1.12      #  Create sed script
    1.13      sedfile2=${sedfile}2
    1.14 @@ -166,16 +166,25 @@
    1.15                | unhexize | sed -Ef "$sedfile2" | hexize`
    1.16        echo "UPDATE dst.article_s SET val=X'$newval' WHERE rowid=$arid;" >>$sql
    1.17      done
    1.18 -    if query ".read $sql"; then
    1.19 -      echo "Success!!"
    1.20 +    if [ -z "`query \".read $sql\"`" ]; then
    1.21        query <<-EOF
    1.22  	DELETE FROM main.article WHERE blogid IN ($blogs);
    1.23  	DELETE FROM main.blog WHERE id IN ($blogs);
    1.24  	DELETE FROM main.grp WHERE rowid=$grid;
    1.25  	EOF
    1.26 -      query "END;"
    1.27 -      clean-orphaned
    1.28 -      echo "Done."
    1.29 +      s=`query "SELECT * FROM main.grp WHERE rowid=$grid;"`
    1.30 +      if [ -z "$s" ]; then
    1.31 +	echo "Success!!"
    1.32 +	query "END;"
    1.33 +	clean-orphaned
    1.34 +	echo "Done."
    1.35 +      else
    1.36 +	echo Removal failed
    1.37 +	echo "現行グループ消去ができませんでした。"
    1.38 +	echo "書き込みの多いグループの場合は空いている時間帯に試して下さい。"
    1.39 +	query "ROLLBACK;"
    1.40 +	failure=-2
    1.41 +      fi
    1.42      else
    1.43        failure=-1
    1.44        echo "Replacing failed."