# HG changeset patch # User HIROSE Yuuji # Date 1555219624 -32400 # Node ID 593e5ae3bd49ba01ee90cc0a566cac699b3eb67a # Parent 1d0344a5f5aa12d2861753610a2183975fc12b51 add trans-user.sh diff -r 1d0344a5f5aa -r 593e5ae3bd49 scripts/trans-user.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/trans-user.sh Sun Apr 14 14:27:04 2019 +0900 @@ -0,0 +1,40 @@ +#!/bin/sh + +while getopts r i; do + case $i in + r) mode=restore ;; + esac +done +shift $((OPTIND - 1)) + +if [ -z "$2" ]; then + cat<<-EOF >&2 + Usage: + $0 DB out.csv user(s) - dump users to out.csv + $0 -r DB out.csv - import nonexistent user from out.csv + EOF + exit 1 +fi + +target=$(cd `dirname "$1"`; pwd)/`basename $1` + +db=$1 +shift +out=$1 +shift + +if [ x"$mode" = x"restore" ]; then + echo "begin;" + echo ".read $out" + echo "end;" +else + echo ".output $out" + for u; do + echo ".mode insert user" + echo "SELECT * FROM user WHERE name LIKE '$u';" + echo ".mode insert user_s" + echo "SELECT * FROM user_s WHERE name LIKE '$u';" + echo ".mode insert user_m" + echo "SELECT * FROM user_m WHERE name LIKE '$u';" + done +fi | sqlite3 $db