s4

view scripts/add-group-csv.sh @ 893:c1a5d137740d

Display momentary information of frozen state change
author HIROSE Yuuji <yuuji@gentei.org>
date Sat, 26 Dec 2020 15:17:56 +0900
parents 1f7d6999ed4c
children 789258aa857a
line source
1 #!/bin/sh
3 if [ -z "$1" ]; then
4 cat<<-EOF >&2
5 Usage: $0 CSVfile
6 $0 -a CSVfile # for al
7 Csv file should be the form of:
8 GroupName,UserName(email)
9 EOF
10 exit 1
11 fi
12 cd `dirname $0`/..
13 if ! . ./s4-funcs.sh; then
14 echo "Cannot find s4-funcs.sh, which should be located in $mydir/.."
15 exit 1
16 fi
18 target=$(cd `dirname "$1"`; pwd)/`basename $1`
20 query<<-EOF
21 .mode csv
22 CREATE TEMPORARY TABLE _gusers(gname, user, admin);
23 .import $target _gusers
24 REPLACE INTO grp SELECT distinct gname FROM _gusers;
26 CREATE TEMPORARY TABLE _default_grp_attr(key, val);
27 INSERT INTO _default_grp_attr
28 VALUES ('tag', 'lecture'), ('mtime', datetime('now', 'localtime'));
30 REPLACE INTO grp_s
31 SELECT gname, key, 'string', val, NULL
32 FROM (SELECT distinct gname FROM _gusers)
33 JOIN _default_grp_attr;
34 REPLACE INTO grp_mem SELECT gname, user FROM _gusers;
35 REPLACE INTO grp_adm SELECT gname, user
36 FROM _gusers WHERE admin LIKE 'admin';
37 EOF