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