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 wrap: on
line diff
--- a/s4-migrate.sh	Mon Jun 15 19:55:07 2020 +0900
+++ b/s4-migrate.sh	Mon Jun 15 20:23:30 2020 +0900
@@ -140,8 +140,8 @@
     for arid in `cat $tmpd/repl.art.rowid`; do
       newval=`query "SELECT hex(val) FROM dst.article_s WHERE rowid=$arid;" \
               | unhexize | sed -Ef "$sedfile" | hexize`
-      echo "UPDATE dst.article_s SET val=X'$newval' WHERE rowid=$arid;" >>$sql
-    done
+      echo "UPDATE dst.article_s SET val=X'$newval' WHERE rowid=$arid;"
+    done >$sql
     # Rewrite blog-links in the group
     #  Create sed script
     sedfile2=${sedfile}2
@@ -166,16 +166,25 @@
               | unhexize | sed -Ef "$sedfile2" | hexize`
       echo "UPDATE dst.article_s SET val=X'$newval' WHERE rowid=$arid;" >>$sql
     done
-    if query ".read $sql"; then
-      echo "Success!!"
+    if [ -z "`query \".read $sql\"`" ]; then
       query <<-EOF
 	DELETE FROM main.article WHERE blogid IN ($blogs);
 	DELETE FROM main.blog WHERE id IN ($blogs);
 	DELETE FROM main.grp WHERE rowid=$grid;
 	EOF
-      query "END;"
-      clean-orphaned
-      echo "Done."
+      s=`query "SELECT * FROM main.grp WHERE rowid=$grid;"`
+      if [ -z "$s" ]; then
+	echo "Success!!"
+	query "END;"
+	clean-orphaned
+	echo "Done."
+      else
+	echo Removal failed
+	echo "現行グループ消去ができませんでした。"
+	echo "書き込みの多いグループの場合は空いている時間帯に試して下さい。"
+	query "ROLLBACK;"
+	failure=-2
+      fi
     else
       failure=-1
       echo "Replacing failed."

yatex.org