s4
changeset 561:593e5ae3bd49
add trans-user.sh
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Sun, 14 Apr 2019 14:27:04 +0900 |
parents | 1d0344a5f5aa |
children | 3b5561ea2117 |
files | scripts/trans-user.sh |
diffstat | 1 files changed, 40 insertions(+), 0 deletions(-) [+] |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/scripts/trans-user.sh Sun Apr 14 14:27:04 2019 +0900 1.3 @@ -0,0 +1,40 @@ 1.4 +#!/bin/sh 1.5 + 1.6 +while getopts r i; do 1.7 + case $i in 1.8 + r) mode=restore ;; 1.9 + esac 1.10 +done 1.11 +shift $((OPTIND - 1)) 1.12 + 1.13 +if [ -z "$2" ]; then 1.14 + cat<<-EOF >&2 1.15 + Usage: 1.16 + $0 DB out.csv user(s) - dump users to out.csv 1.17 + $0 -r DB out.csv - import nonexistent user from out.csv 1.18 + EOF 1.19 + exit 1 1.20 +fi 1.21 + 1.22 +target=$(cd `dirname "$1"`; pwd)/`basename $1` 1.23 + 1.24 +db=$1 1.25 +shift 1.26 +out=$1 1.27 +shift 1.28 + 1.29 +if [ x"$mode" = x"restore" ]; then 1.30 + echo "begin;" 1.31 + echo ".read $out" 1.32 + echo "end;" 1.33 +else 1.34 + echo ".output $out" 1.35 + for u; do 1.36 + echo ".mode insert user" 1.37 + echo "SELECT * FROM user WHERE name LIKE '$u';" 1.38 + echo ".mode insert user_s" 1.39 + echo "SELECT * FROM user_s WHERE name LIKE '$u';" 1.40 + echo ".mode insert user_m" 1.41 + echo "SELECT * FROM user_m WHERE name LIKE '$u';" 1.42 + done 1.43 +fi | sqlite3 $db